This is next.pl in view mode; [Download] [Up]
#!@@PERL@@ -ns
#
# This script is part of rtfdtohtml.
# Copyright (c) 1996 Elmar Ludwig - Universitaet Osnabrueck
#
# Handle NeXT-extensions to RTF: Graphics and Links.
# New: Local hypertext Links will be tested for Validity.
#
# Options: -rtfd for RTFD files (default is -rtf)
# -href select alternate link style (see man page)
# -png create links to *.png files (default is -gif)
unless (defined $prefix)
{
$prefix = $rtfd ? '../' : '';
$type = $png ? 'png' : 'gif';
$dir = $ENV{'FILENAME'};
if ($dir =~ /^(.*)\//)
{
chdir $1 || die "chdir failed for $1: $!";
$dir = $';
}
$dir .= '/';
}
s/({\\fonttbl\W.*) $ENV{'QUOTE_FONT'};/$1 Quote_Font;/o;
if (/{\\NeXTGraphic[0-9]* ([^;]+) \\width([0-9]+) \\height([0-9]+) *}$/)
{
$a = $`;
$name = $1;
$width = int($2 / 20);
$height = int($3 / 20);
$suffix = $name =~ /\.([^.]*)$/ ? $1 : '';
print STDERR "Warning: invalid reference to `$name'\n" unless -e $dir.$name;
if ($suffix eq 'eps' || $suffix eq 'ai' || $suffix eq 'tiff')
{
print "$a\\v1\\shad1<IMG src=\"$name.$type\" width=$width ",
"height=$height>\\shad0\\v0\n";
}
elsif ($suffix eq 'gif' || $suffix eq 'jpeg' || $suffix eq 'jpg' ||
$suffix eq 'xbm' || $suffix eq 'xpm' || $suffix eq 'png')
{
print "$a\\v1\\shad1<IMG src=\"$name\" width=$width height=$height",
">\\shad0\\v0\n";
}
else
{
print "$a\\v1\\shad1<A href=\"$name\"><IMG src=\"$name.tiff.$type\" ",
"width=48 height=48></A>\\shad0\\v0\n";
}
}
elsif (/{\\NeXTHelpMarker[0-9]* \\markername ([^;]*); *}$/)
{
if ($href && $inside)
{
print "$`\\v1\\shad1</A>\\shad0\\v0\n";
$inside = '';
}
else # extend mark to end of line?
{
print "$`\\v1\\shad1<A name=\"$1\"></A>\\shad0\\v0\n";
}
}
elsif (/{\\NeXTHelpLink[0-9]* \\markername ([^;]*);\\linkFilename ([^;]*);\\( *)linkMarkername ([^;]*); *}$/)
{
$a = $`;
$name = $1 ? " name=\"$1\"" : '';
$mark = $4 ? "#$4" : '';
$link = "<IMG src=\".!link.$type\" alt=\"*\" " .
'width=10 height=10 border=0></A>';
if ($3 && $href)
{
$link = '';
$inside = 'YES';
}
if ($2)
{
$_ = $2;
unless (m%^[A-Za-z]+://% || m%^//% || /^mailto:/ || /^news:/)
{
print STDERR "Warning: invalid hypertext link to `$_'\n" unless -e;
$_ = $prefix . $_ unless /^\//;
$_ .= '/index.html' if /\.rtfd\/*$/;
$_ .= '.html' if /\.rtf$/ || ($mark && !/\.html$/);
}
print "$a\\v1\\shad1<A$name href=\"$_$mark\">$link\\shad0\\v0\n";
}
else
{
$mark = 'index.html' unless $4;
print "$a\\v1\\shad1<A$name href=\"$mark\">$link\\shad0\\v0\n";
}
}
else
{
print;
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.