Merge GNU Classpath libgcj-snapshot-20090102.
2009-01-06 Andrew John Hughes <gnu_andrew@member.fsf.org> Import GNU Classpath (libgcj-snapshot-20090102). * libjava/classpath/lib/java/text/RuleBasedCollator$CollationSorter.class, * libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class, * libjava/classpath/lib/java/text/MessageFormat.class, * libjava/classpath/lib/java/text/SimpleDateFormat.class, * libjava/classpath/lib/java/text/NumberFormat.class, * libjava/classpath/lib/java/text/RuleBasedCollator$CollationElement.class, * libjava/classpath/lib/java/text/MessageFormat$Field.class, * libjava/classpath/lib/java/text/RuleBasedCollator.class, * libjava/classpath/lib/java/text/NumberFormat$Field.class, * libjava/classpath/lib/gnu/xml/transform/Bindings.class, * libjava/classpath/lib/gnu/java/locale/LocaleData.class, * libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class, * libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.class, * libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h, * libjava/java/text/MessageFormat.h, * libjava/java/text/RuleBasedCollator$CollationSorter.h, * libjava/java/text/RuleBasedCollator.h, * libjava/java/text/SimpleDateFormat.h: Regenerated. 2009-01-02 Andrew John Hughes <gnu_andrew@member.fsf.org> * ChangeLog-2008: New file. 2009-01-02 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/MessageFormat.java: (setLocale(Locale)): Integer format should use NumberFormat.getIntegerInstance. libjava/classpath/ChangeLog-2008 2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/MessageFormat.java: (parse(String,ParsePosition)): Emulate behaviour of Vector's setSize() which was being implicitly relied on. 2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/SimpleDateFormat.java: Remove superfluous empty line introduced in last commit. 2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/MessageFormat.java: Convert variables to use generic types, use CPStringBuilder in place of StringBuilder. (Field()): Suppress warning due to only being used by deserialization. (scanFormat(String,int,CPStringBuilder,List,Locale)): Use ArrayList instead of Vector as no synchronisation needed. (parse(String,ParsePosition)): Likewise. * java/text/NumberFormat.java: (Field()): Suppress warning due to only being used by deserialization. * java/text/RuleBasedCollator.java: Convert variables to use generic types. (CollationElement): Make fields final. (CollationSorter): Likewise. (CollationSorter(int,String,int,boolean)): New constructor. * java/text/SimpleDateFormat.java, Convert variables to use generic types. (applyPattern(String)): Clear list rather than creating a new instance. 2008-12-30 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/SimpleDateFormat.java: (standardChars): Use standard characters from CLDR. (RFC822_TIMEZONE_FIELD): Fixed to match new standard characters. 2008-12-22 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/lang/String.java: (byte[],int,int,String): Call new Charset method. (stringToCharset(String)): Private method added to handle exception conversion. (byte[],int,int,Charset): Implemented. (byte[], Charset): Likewise. (getBytes(String)): Call new Charset method. (getBytes(Charset)): Implemented. 2008-12-18 Andrew John Hughes <gnu_andrew@member.fsf.org> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c: Include '\0' in the string. 2008-12-09 Andrew John Hughes <gnu_andrew@member.fsf.org> PR classpath/38473: * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c: (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative): Check that the glyph is an outline before calling FT_Outline_Decompose. 2008-11-16 Andrew John Hughes <gnu_andrew@member.fsf.org> * gnu/xml/transform/Bindings.java: Add generics to collections. 2008-11-16 Andrew John Hughes <gnu_andrew@member.fsf.org> * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java: (init(int,SecureRandom)): Improve exception message. 2008-11-06 Mark Wielaard <mark@klomp.org> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c (getKerning): Removed unused cls, method, values. 2008-11-05 Andrew Haley <aph@redhat.com> * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java (getKerning): Return result in a float[], not a Point2D. (performDefaultLayout): Call getKerning with a float[]. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c (getKerning): Return result in a float[], not a Point2D. 2008-11-05 Andrew Haley <aph@redhat.com> * tools/Makefile.am (UPDATE_TOOLS_ZIP, CREATE_TOOLS_ZIP): Exclude .svn direcories. 2008-10-23 David Edelsohn <edelsohn@gnu.org> * native/fdlibm/fdlibm.h: Undef hz. 2008-10-20 Andrew John Hughes <gnu_andrew@member.fsf.org> * m4/ac_prog_antlr.m4: Remove redundant checks. * tools/Makefile.am: Use gjdoc_gendir when calling antlr. 2008-10-17 Robert Lougher <rob.lougher@gmail.com> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Release 'fonts'. 2008-10-16 Tom Tromey <tromey@redhat.com> * tools/gnu/classpath/tools/jar/WorkSet.java (initSet): Use foreach. Change argument type. (WorkSet): Change argument type. * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use foreach. * tools/gnu/classpath/tools/jar/Creator.java (writeCommandLineEntries): Use foreach. (getAllEntries): Likewise. 2008-10-15 Andrew John Hughes <gnu_andrew@member.fsf.org> * configure.ac: Remove superfluous AC_PROG_JAVA call. From-SVN: r143139
This commit is contained in:
+314
-123
@@ -3,11 +3,11 @@
|
||||
% Load plain if necessary, i.e., if running under initex.
|
||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||
%
|
||||
\def\texinfoversion{2007-12-02.17}
|
||||
\def\texinfoversion{2008-11-17.21}
|
||||
%
|
||||
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 2007,
|
||||
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
||||
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
% 2007 Free Software Foundation, Inc.
|
||||
% 2007, 2008 Free Software Foundation, Inc.
|
||||
%
|
||||
% This texinfo.tex file is free software: you can redistribute it and/or
|
||||
% modify it under the terms of the GNU General Public License as
|
||||
@@ -97,6 +97,9 @@
|
||||
\let\ptexslash=\/
|
||||
\let\ptexstar=\*
|
||||
\let\ptext=\t
|
||||
\let\ptextop=\top
|
||||
{\catcode`\'=\active
|
||||
\global\let\ptexquoteright'}% Math-mode def from plain.tex.
|
||||
|
||||
% If this character appears in an error message or help string, it
|
||||
% starts a new line in the output.
|
||||
@@ -460,7 +463,7 @@
|
||||
\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
|
||||
\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
|
||||
|
||||
% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
|
||||
% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space.
|
||||
%
|
||||
% \argremovec might leave us with trailing space, e.g.,
|
||||
% @end itemize @c foo
|
||||
@@ -485,7 +488,7 @@
|
||||
% to get _exactly_ the rest of the line, we had to prevent such situation.
|
||||
% We prepended an \empty token at the very beginning and we expand it now,
|
||||
% just before passing the control to \argtorun.
|
||||
% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
|
||||
% (Similarly, we have to think about #3 of \argcheckspacesY above: it is
|
||||
% either the null string, or it ends with \^^M---thus there is no danger
|
||||
% that a pair of braces would be stripped.
|
||||
%
|
||||
@@ -542,12 +545,12 @@
|
||||
% used to check whether the current environment is the one expected.
|
||||
%
|
||||
% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
|
||||
% are not treated as enviroments; they don't open a group. (The
|
||||
% are not treated as environments; they don't open a group. (The
|
||||
% implementation of @end takes care not to call \endgroup in this
|
||||
% special case.)
|
||||
|
||||
|
||||
% At runtime, environments start with this:
|
||||
% At run-time, environments start with this:
|
||||
\def\startenvironment#1{\begingroup\def\thisenv{#1}}
|
||||
% initialize
|
||||
\let\thisenv\empty
|
||||
@@ -565,7 +568,7 @@
|
||||
\fi
|
||||
}
|
||||
|
||||
% Evironment mismatch, #1 expected:
|
||||
% Environment mismatch, #1 expected:
|
||||
\def\badenverr{%
|
||||
\errhelp = \EMsimple
|
||||
\errmessage{This command can appear only \inenvironment\temp,
|
||||
@@ -649,8 +652,8 @@
|
||||
\def\jmacro{j}
|
||||
\def\dotless#1{%
|
||||
\def\temp{#1}%
|
||||
\ifx\temp\imacro \ptexi
|
||||
\else\ifx\temp\jmacro \j
|
||||
\ifx\temp\imacro \ifmmode\imath \else\ptexi \fi
|
||||
\else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi
|
||||
\else \errmessage{@dotless can be used only with i or j}%
|
||||
\fi\fi
|
||||
}
|
||||
@@ -916,15 +919,20 @@ where each line of input produces a line of output.}
|
||||
\temp
|
||||
}
|
||||
|
||||
% @include file insert text of that file as input.
|
||||
% @include FILE -- \input text of FILE.
|
||||
%
|
||||
\def\include{\parseargusing\filenamecatcodes\includezzz}
|
||||
\def\includezzz#1{%
|
||||
\pushthisfilestack
|
||||
\def\thisfile{#1}%
|
||||
{%
|
||||
\makevalueexpandable
|
||||
\def\temp{\input #1 }%
|
||||
\makevalueexpandable % we want to expand any @value in FILE.
|
||||
\turnoffactive % and allow special characters in the expansion
|
||||
\indexnofonts % Allow `@@' and other weird things in file names.
|
||||
\edef\temp{\noexpand\input #1 }%
|
||||
%
|
||||
% This trickery is to read FILE outside of a group, in case it makes
|
||||
% definitions, etc.
|
||||
\expandafter
|
||||
}\temp
|
||||
\popthisfilestack
|
||||
@@ -939,6 +947,8 @@ where each line of input produces a line of output.}
|
||||
\catcode`>=\other
|
||||
\catcode`+=\other
|
||||
\catcode`-=\other
|
||||
\catcode`\`=\other
|
||||
\catcode`\'=\other
|
||||
}
|
||||
|
||||
\def\pushthisfilestack{%
|
||||
@@ -1114,6 +1124,16 @@ where each line of input produces a line of output.}
|
||||
\mathunderscore
|
||||
\let\\ = \mathbackslash
|
||||
\mathactive
|
||||
% make the texinfo accent commands work in math mode
|
||||
\let\"=\ddot
|
||||
\let\'=\acute
|
||||
\let\==\bar
|
||||
\let\^=\hat
|
||||
\let\`=\grave
|
||||
\let\u=\breve
|
||||
\let\v=\check
|
||||
\let\~=\tilde
|
||||
\let\dotaccent=\dot
|
||||
$\finishmath
|
||||
}
|
||||
\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
|
||||
@@ -1127,17 +1147,21 @@ where each line of input produces a line of output.}
|
||||
\catcode`< = \active
|
||||
\catcode`> = \active
|
||||
\catcode`+ = \active
|
||||
\catcode`' = \active
|
||||
\gdef\mathactive{%
|
||||
\let^ = \ptexhat
|
||||
\let< = \ptexless
|
||||
\let> = \ptexgtr
|
||||
\let+ = \ptexplus
|
||||
\let' = \ptexquoteright
|
||||
}
|
||||
}
|
||||
|
||||
% @bullet and @minus need the same treatment as @math, just above.
|
||||
% Some math mode symbols.
|
||||
\def\bullet{$\ptexbullet$}
|
||||
\def\minus{$-$}
|
||||
\def\geq{\ifmmode \ge\else $\ge$\fi}
|
||||
\def\leq{\ifmmode \le\else $\le$\fi}
|
||||
\def\minus{\ifmmode -\else $-$\fi}
|
||||
|
||||
% @dots{} outputs an ellipsis using the current font.
|
||||
% We do .5em per period so that it has the same spacing in the cm
|
||||
@@ -1362,8 +1386,11 @@ output) for that.)}
|
||||
\openin 1 #1.jpeg \ifeof 1
|
||||
\openin 1 #1.JPG \ifeof 1
|
||||
\openin 1 #1.pdf \ifeof 1
|
||||
\errhelp = \nopdfimagehelp
|
||||
\errmessage{Could not find image file #1 for pdf}%
|
||||
\openin 1 #1.PDF \ifeof 1
|
||||
\errhelp = \nopdfimagehelp
|
||||
\errmessage{Could not find image file #1 for pdf}%
|
||||
\else \gdef\pdfimgext{PDF}%
|
||||
\fi
|
||||
\else \gdef\pdfimgext{pdf}%
|
||||
\fi
|
||||
\else \gdef\pdfimgext{JPG}%
|
||||
@@ -1377,7 +1404,7 @@ output) for that.)}
|
||||
\closein 1
|
||||
\endgroup
|
||||
%
|
||||
% without \immediate, pdftex seg faults when the same image is
|
||||
% without \immediate, ancient pdftex seg faults when the same image is
|
||||
% included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
|
||||
\ifnum\pdftexversion < 14
|
||||
\immediate\pdfimage
|
||||
@@ -1607,6 +1634,10 @@ output) for that.)}
|
||||
\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
|
||||
\def\tt{\fam=\ttfam \setfontstyle{tt}}
|
||||
|
||||
% Unfortunately, we have to override this for titles and the like, since
|
||||
% in those cases "rm" is bold. Sigh.
|
||||
\def\rmisbold{\rm\def\curfontstyle{bf}}
|
||||
|
||||
% Texinfo sort of supports the sans serif font style, which plain TeX does not.
|
||||
% So we set up a \sf.
|
||||
\newfam\sffam
|
||||
@@ -2004,8 +2035,6 @@ end
|
||||
\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
|
||||
\font\titlei=cmmi12 scaled \magstep3
|
||||
\font\titlesy=cmsy10 scaled \magstep4
|
||||
\def\authorrm{\secrm}
|
||||
\def\authortt{\sectt}
|
||||
\def\titleecsize{2074}
|
||||
|
||||
% Chapter (and unnumbered) fonts (17.28pt).
|
||||
@@ -2137,8 +2166,6 @@ end
|
||||
\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
|
||||
\font\titlei=cmmi12 scaled \magstep3
|
||||
\font\titlesy=cmsy10 scaled \magstep4
|
||||
\def\authorrm{\secrm}
|
||||
\def\authortt{\sectt}
|
||||
\def\titleecsize{2074}
|
||||
|
||||
% Chapter fonts (14.4pt).
|
||||
@@ -2270,7 +2297,7 @@ end
|
||||
\def\curfontsize{title}%
|
||||
\def\lsize{chap}\def\lllsize{subsec}%
|
||||
\resetmathfonts \setleading{25pt}}
|
||||
\def\titlefont#1{{\titlefonts\rm #1}}
|
||||
\def\titlefont#1{{\titlefonts\rmisbold #1}}
|
||||
\def\chapfonts{%
|
||||
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
|
||||
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
|
||||
@@ -2376,7 +2403,7 @@ end
|
||||
|
||||
\let\i=\smartitalic
|
||||
\let\slanted=\smartslanted
|
||||
\let\var=\smartslanted
|
||||
\def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}}
|
||||
\let\dfn=\smartslanted
|
||||
\let\emph=\smartitalic
|
||||
|
||||
@@ -2416,7 +2443,7 @@ end
|
||||
{\tt \rawbackslash \plainfrenchspacing #1}%
|
||||
\null
|
||||
}
|
||||
\def\samp#1{`\tclose{#1}'\null}
|
||||
\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
|
||||
\setfont\keyrm\rmshape{8}{1000}{OT1}
|
||||
\font\keysy=cmsy9
|
||||
\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
|
||||
@@ -2425,7 +2452,7 @@ end
|
||||
\hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
|
||||
\kern-0.4pt\hrule}%
|
||||
\kern-.06em\raise0.4pt\hbox{\angleright}}}}
|
||||
\def\key #1{{\nohyphenation \uppercase{#1}}\null}
|
||||
\def\key #1{{\setupmarkupstyle{key}\nohyphenation \uppercase{#1}}\null}
|
||||
% The old definition, with no lozenge:
|
||||
%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
|
||||
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
|
||||
@@ -2469,11 +2496,11 @@ end
|
||||
{
|
||||
\catcode`\-=\active \catcode`\_=\active
|
||||
\catcode`\'=\active \catcode`\`=\active
|
||||
\global\let'=\rq \global\let`=\lq % default definitions
|
||||
%
|
||||
\global\def\code{\begingroup
|
||||
\catcode\rquoteChar=\active \catcode\lquoteChar=\active
|
||||
\let'\codequoteright \let`\codequoteleft
|
||||
%
|
||||
\setupmarkupstyle{code}%
|
||||
% The following should really be moved into \setupmarkupstyle handlers.
|
||||
\catcode\dashChar=\active \catcode\underChar=\active
|
||||
\ifallowcodebreaks
|
||||
\let-\codedash
|
||||
@@ -2552,14 +2579,21 @@ end
|
||||
\def\xkey{\key}
|
||||
\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
|
||||
\ifx\one\xkey\ifx\threex\three \key{#2}%
|
||||
\else{\tclose{\kbdfont\look}}\fi
|
||||
\else{\tclose{\kbdfont\look}}\fi}
|
||||
\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
|
||||
\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
|
||||
|
||||
% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
|
||||
\let\indicateurl=\code
|
||||
\let\env=\code
|
||||
\let\command=\code
|
||||
|
||||
% @clicksequence{File @click{} Open ...}
|
||||
\def\clicksequence#1{\begingroup #1\endgroup}
|
||||
|
||||
% @clickstyle @arrow (by default)
|
||||
\parseargdef\clickstyle{\def\click{#1}}
|
||||
\def\click{\arrow}
|
||||
|
||||
% @uref (abbreviation for `urlref') takes an optional (comma-separated)
|
||||
% second argument specifying the text to display and an optional third
|
||||
% arg as text to display instead of (rather than in addition to) the url
|
||||
@@ -2621,7 +2655,7 @@ end
|
||||
%
|
||||
\def\dmn#1{\thinspace #1}
|
||||
|
||||
\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
|
||||
\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
|
||||
|
||||
% @l was never documented to mean ``switch to the Lisp font'',
|
||||
% and it is not used as such in any manual I can find. We need it for
|
||||
@@ -2722,8 +2756,35 @@ end
|
||||
\def\quotedblbase{{\ecfont \char"12}}
|
||||
\def\quotesinglbase{{\ecfont \char"0D}}
|
||||
%
|
||||
% This positioning is not perfect (see the ogonek LaTeX package), but
|
||||
% we have the precomposed glyphs for the most common cases. We put the
|
||||
% tests to use those glyphs in the single \ogonek macro so we have fewer
|
||||
% dummy definitions to worry about for index entries, etc.
|
||||
%
|
||||
% ogonek is also used with other letters in Lithuanian (IOU), but using
|
||||
% the precomposed glyphs for those is not so easy since they aren't in
|
||||
% the same EC font.
|
||||
\def\ogonek#1{{%
|
||||
\def\temp{#1}%
|
||||
\ifx\temp\macrocharA\Aogonek
|
||||
\else\ifx\temp\macrochara\aogonek
|
||||
\else\ifx\temp\macrocharE\Eogonek
|
||||
\else\ifx\temp\macrochare\eogonek
|
||||
\else
|
||||
\ecfont \setbox0=\hbox{#1}%
|
||||
\ifdim\ht0=1ex\accent"0C #1%
|
||||
\else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}%
|
||||
\fi
|
||||
\fi\fi\fi\fi
|
||||
}%
|
||||
}
|
||||
\def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A}
|
||||
\def\aogonek{{\ecfont \char"A1}}\def\macrochara{a}
|
||||
\def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E}
|
||||
\def\eogonek{{\ecfont \char"A6}}\def\macrochare{e}
|
||||
%
|
||||
\def\ecfont{%
|
||||
% We can't distinguish serif/sanserif and italic/slanted, but this
|
||||
% We can't distinguish serif/sans and italic/slanted, but this
|
||||
% is used for crude hacks anyway (like adding French and German
|
||||
% quotes to documents typeset with CM, where we lose kerning), so
|
||||
% hopefully nobody will notice/care.
|
||||
@@ -2851,12 +2912,9 @@ end
|
||||
\let\subtitlerm=\tenrm
|
||||
\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
|
||||
|
||||
\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
|
||||
\let\tt=\authortt}
|
||||
|
||||
\parseargdef\title{%
|
||||
\checkenv\titlepage
|
||||
\leftline{\titlefonts\rm #1}
|
||||
\leftline{\titlefonts\rmisbold #1}
|
||||
% print a rule at the page bottom also.
|
||||
\finishedtitlepagefalse
|
||||
\vskip4pt \hrule height 4pt width \hsize \vskip4pt
|
||||
@@ -2877,7 +2935,7 @@ end
|
||||
\else
|
||||
\checkenv\titlepage
|
||||
\ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
|
||||
{\authorfont \leftline{#1}}%
|
||||
{\secfonts\rmisbold \leftline{#1}}%
|
||||
\fi
|
||||
}
|
||||
|
||||
@@ -3847,11 +3905,11 @@ end
|
||||
\def\dosynindex#1#2#3{%
|
||||
% Only do \closeout if we haven't already done it, else we'll end up
|
||||
% closing the target index.
|
||||
\expandafter \ifx\csname donesynindex#2\endcsname \undefined
|
||||
\expandafter \ifx\csname donesynindex#2\endcsname \relax
|
||||
% The \closeout helps reduce unnecessary open files; the limit on the
|
||||
% Acorn RISC OS is a mere 16 files.
|
||||
\expandafter\closeout\csname#2indfile\endcsname
|
||||
\expandafter\let\csname\donesynindex#2\endcsname = 1
|
||||
\expandafter\let\csname donesynindex#2\endcsname = 1
|
||||
\fi
|
||||
% redefine \fooindfile:
|
||||
\expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
|
||||
@@ -4009,6 +4067,7 @@ end
|
||||
\definedummyword\guilsinglright
|
||||
\definedummyword\expansion
|
||||
\definedummyword\minus
|
||||
\definedummyword\ogonek
|
||||
\definedummyword\pounds
|
||||
\definedummyword\point
|
||||
\definedummyword\print
|
||||
@@ -4052,6 +4111,7 @@ end
|
||||
\definedummyword\v
|
||||
\definedummyword\H
|
||||
\definedummyword\dotaccent
|
||||
\definedummyword\ogonek
|
||||
\definedummyword\ringaccent
|
||||
\definedummyword\tieaccent
|
||||
\definedummyword\ubaraccent
|
||||
@@ -4432,7 +4492,7 @@ end
|
||||
%
|
||||
% A straightforward implementation would start like this:
|
||||
% \def\entry#1#2{...
|
||||
% But this frozes the catcodes in the argument, and can cause problems to
|
||||
% But this freezes the catcodes in the argument, and can cause problems to
|
||||
% @code, which sets - active. This problem was fixed by a kludge---
|
||||
% ``-'' was active throughout whole index, but this isn't really right.
|
||||
%
|
||||
@@ -5034,7 +5094,6 @@ end
|
||||
% 3) Likewise, headings look best if no \parindent is used, and
|
||||
% if justification is not attempted. Hence \raggedright.
|
||||
|
||||
|
||||
\def\majorheading{%
|
||||
{\advance\chapheadingskip by 10pt \chapbreak }%
|
||||
\parsearg\chapheadingzzz
|
||||
@@ -5044,7 +5103,7 @@ end
|
||||
\def\chapheadingzzz#1{%
|
||||
{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
|
||||
\parindent=0pt\raggedright
|
||||
\rm #1\hfill}}%
|
||||
\rmisbold #1\hfill}}%
|
||||
\bigskip \par\penalty 200\relax
|
||||
\suppressfirstparagraphindent
|
||||
}
|
||||
@@ -5163,7 +5222,7 @@ end
|
||||
\domark
|
||||
%
|
||||
{%
|
||||
\chapfonts \rm
|
||||
\chapfonts \rmisbold
|
||||
%
|
||||
% Have to define \lastsection before calling \donoderef, because the
|
||||
% xref code eventually uses it. On the other hand, it has to be called
|
||||
@@ -5225,7 +5284,7 @@ end
|
||||
\def\unnchfopen #1{%
|
||||
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
|
||||
\parindent=0pt\raggedright
|
||||
\rm #1\hfill}}\bigskip \par\nobreak
|
||||
\rmisbold #1\hfill}}\bigskip \par\nobreak
|
||||
}
|
||||
\def\chfopen #1#2{\chapoddpage {\chapfonts
|
||||
\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
|
||||
@@ -5234,7 +5293,7 @@ end
|
||||
\def\centerchfopen #1{%
|
||||
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
|
||||
\parindent=0pt
|
||||
\hfill {\rm #1}\hfill}}\bigskip \par\nobreak
|
||||
\hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
|
||||
}
|
||||
\def\CHAPFopen{%
|
||||
\global\let\chapmacro=\chfopen
|
||||
@@ -5267,7 +5326,7 @@ end
|
||||
\def\sectionheading#1#2#3#4{%
|
||||
{%
|
||||
% Switch to the right set of fonts.
|
||||
\csname #2fonts\endcsname \rm
|
||||
\csname #2fonts\endcsname \rmisbold
|
||||
%
|
||||
\def\sectionlevel{#2}%
|
||||
\def\temptype{#3}%
|
||||
@@ -5650,16 +5709,120 @@ end
|
||||
\message{environments,}
|
||||
% @foo ... @end foo.
|
||||
|
||||
% Markup style infrastructure. \defmarkupstylesetup\INITMACRO will
|
||||
% define and register \INITMACRO to be called on markup style changes.
|
||||
% \INITMACRO can check \currentmarkupstyle for the innermost
|
||||
% style and the set of \ifmarkupSTYLE switches for all styles
|
||||
% currently in effect.
|
||||
\newif\ifmarkupvar
|
||||
\newif\ifmarkupsamp
|
||||
\newif\ifmarkupkey
|
||||
%\newif\ifmarkupfile % @file == @samp.
|
||||
%\newif\ifmarkupoption % @option == @samp.
|
||||
\newif\ifmarkupcode
|
||||
\newif\ifmarkupkbd
|
||||
%\newif\ifmarkupenv % @env == @code.
|
||||
%\newif\ifmarkupcommand % @command == @code.
|
||||
\newif\ifmarkuptex % @tex (and part of @math, for now).
|
||||
\newif\ifmarkupexample
|
||||
\newif\ifmarkupverb
|
||||
\newif\ifmarkupverbatim
|
||||
|
||||
\let\currentmarkupstyle\empty
|
||||
|
||||
\def\setupmarkupstyle#1{%
|
||||
\csname markup#1true\endcsname
|
||||
\def\currentmarkupstyle{#1}%
|
||||
\markupstylesetup
|
||||
}
|
||||
|
||||
\let\markupstylesetup\empty
|
||||
|
||||
\def\defmarkupstylesetup#1{%
|
||||
\expandafter\def\expandafter\markupstylesetup
|
||||
\expandafter{\markupstylesetup #1}%
|
||||
\def#1%
|
||||
}
|
||||
|
||||
% Markup style setup for left and right quotes.
|
||||
\defmarkupstylesetup\markupsetuplq{%
|
||||
\expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname
|
||||
\ifx\temp\relax \markupsetuplqdefault \else \temp \fi
|
||||
}
|
||||
|
||||
\defmarkupstylesetup\markupsetuprq{%
|
||||
\expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname
|
||||
\ifx\temp\relax \markupsetuprqdefault \else \temp \fi
|
||||
}
|
||||
|
||||
{
|
||||
\catcode`\'=\active
|
||||
\catcode`\`=\active
|
||||
|
||||
\gdef\markupsetuplqdefault{\let`\lq}
|
||||
\gdef\markupsetuprqdefault{\let'\rq}
|
||||
|
||||
\gdef\markupsetcodequoteleft{\let`\codequoteleft}
|
||||
\gdef\markupsetcodequoteright{\let'\codequoteright}
|
||||
|
||||
\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
|
||||
}
|
||||
|
||||
\let\markupsetuplqcode \markupsetcodequoteleft
|
||||
\let\markupsetuprqcode \markupsetcodequoteright
|
||||
\let\markupsetuplqexample \markupsetcodequoteleft
|
||||
\let\markupsetuprqexample \markupsetcodequoteright
|
||||
\let\markupsetuplqverb \markupsetcodequoteleft
|
||||
\let\markupsetuprqverb \markupsetcodequoteright
|
||||
\let\markupsetuplqverbatim \markupsetcodequoteleft
|
||||
\let\markupsetuprqverbatim \markupsetcodequoteright
|
||||
|
||||
\let\markupsetuplqsamp \markupsetnoligaturesquoteleft
|
||||
\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
|
||||
|
||||
% Allow an option to not replace quotes with a regular directed right
|
||||
% quote/apostrophe (char 0x27), but instead use the undirected quote
|
||||
% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
|
||||
% the default, but it works for pasting with more pdf viewers (at least
|
||||
% evince), the lilypond developers report. xpdf does work with the
|
||||
% regular 0x27.
|
||||
%
|
||||
\def\codequoteright{%
|
||||
\expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
|
||||
\expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
|
||||
'%
|
||||
\else \char'15 \fi
|
||||
\else \char'15 \fi
|
||||
}
|
||||
%
|
||||
% and a similar option for the left quote char vs. a grave accent.
|
||||
% Modern fonts display ASCII 0x60 as a grave accent, so some people like
|
||||
% the code environments to do likewise.
|
||||
%
|
||||
\def\codequoteleft{%
|
||||
\expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
|
||||
\expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
|
||||
% [Knuth] pp. 380,381,391
|
||||
% \relax disables Spanish ligatures ?` and !` of \tt font.
|
||||
\relax`%
|
||||
\else \char'22 \fi
|
||||
\else \char'22 \fi
|
||||
}
|
||||
|
||||
% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
|
||||
\def\noligaturesquoteleft{\relax\lq}
|
||||
|
||||
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
|
||||
%
|
||||
% Since these characters are used in examples, it should be an even number of
|
||||
% Since these characters are used in examples, they should be an even number of
|
||||
% \tt widths. Each \tt character is 1en, so two makes it 1em.
|
||||
%
|
||||
\def\point{$\star$}
|
||||
\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
|
||||
\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
|
||||
\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}}
|
||||
\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
|
||||
\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}}
|
||||
\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
|
||||
\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
|
||||
\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}}
|
||||
|
||||
% The @error{} command.
|
||||
% Adapted from the TeXbook's \boxit.
|
||||
@@ -5689,6 +5852,7 @@ end
|
||||
% But \@ or @@ will get a plain tex @ character.
|
||||
|
||||
\envdef\tex{%
|
||||
\setupmarkupstyle{tex}%
|
||||
\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
|
||||
\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
|
||||
\catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
|
||||
@@ -5698,6 +5862,8 @@ end
|
||||
\catcode `\|=\other
|
||||
\catcode `\<=\other
|
||||
\catcode `\>=\other
|
||||
\catcode`\`=\other
|
||||
\catcode`\'=\other
|
||||
\escapechar=`\\
|
||||
%
|
||||
\let\b=\ptexb
|
||||
@@ -5717,6 +5883,7 @@ end
|
||||
\let\/=\ptexslash
|
||||
\let\*=\ptexstar
|
||||
\let\t=\ptext
|
||||
\expandafter \let\csname top\endcsname=\ptextop % outer
|
||||
\let\frenchspacing=\plainfrenchspacing
|
||||
%
|
||||
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
|
||||
@@ -5898,7 +6065,7 @@ end
|
||||
%
|
||||
\maketwodispenvs {lisp}{example}{%
|
||||
\nonfillstart
|
||||
\tt\quoteexpand
|
||||
\tt\setupmarkupstyle{example}%
|
||||
\let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
|
||||
\gobble % eat return
|
||||
}
|
||||
@@ -5941,7 +6108,7 @@ end
|
||||
% we're doing normal filling. So, when using \aboveenvbreak and
|
||||
% \afterenvbreak, temporarily make \parskip 0.
|
||||
%
|
||||
\envdef\quotation{%
|
||||
\def\quotationstart{%
|
||||
{\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
|
||||
\parindent=0pt
|
||||
%
|
||||
@@ -5956,6 +6123,17 @@ end
|
||||
\parsearg\quotationlabel
|
||||
}
|
||||
|
||||
\envdef\quotation{%
|
||||
\setnormaldispenv
|
||||
\quotationstart
|
||||
}
|
||||
|
||||
\envdef\smallquotation{%
|
||||
\setsmalldispenv
|
||||
\quotationstart
|
||||
}
|
||||
\let\Esmallquotation = \Equotation
|
||||
|
||||
% We have retained a nonzero parskip for the environment, since we're
|
||||
% doing normal filling.
|
||||
%
|
||||
@@ -5991,18 +6169,16 @@ end
|
||||
\do\ \do\\\do\{\do\}\do\$\do\&%
|
||||
\do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
|
||||
\do\<\do\>\do\|\do\@\do+\do\"%
|
||||
% Don't do the quotes -- if we do, @set txicodequoteundirected and
|
||||
% @set txicodequotebacktick will not have effect on @verb and
|
||||
% @verbatim, and ?` and !` ligatures won't get disabled.
|
||||
%\do\`\do\'%
|
||||
}
|
||||
%
|
||||
% [Knuth] p. 380
|
||||
\def\uncatcodespecials{%
|
||||
\def\do##1{\catcode`##1=\other}\dospecials}
|
||||
%
|
||||
% [Knuth] pp. 380,381,391
|
||||
% Disable Spanish ligatures ?` and !` of \tt font
|
||||
\begingroup
|
||||
\catcode`\`=\active\gdef`{\relax\lq}
|
||||
\endgroup
|
||||
%
|
||||
% Setup for the @verb command.
|
||||
%
|
||||
% Eight spaces for a tab
|
||||
@@ -6014,7 +6190,7 @@ end
|
||||
\def\setupverb{%
|
||||
\tt % easiest (and conventionally used) font for verbatim
|
||||
\def\par{\leavevmode\endgraf}%
|
||||
\catcode`\`=\active
|
||||
\setupmarkupstyle{verb}%
|
||||
\tabeightspaces
|
||||
% Respect line breaks,
|
||||
% print special symbols as themselves, and
|
||||
@@ -6029,33 +6205,6 @@ end
|
||||
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
|
||||
%
|
||||
\def\starttabbox{\setbox0=\hbox\bgroup}
|
||||
|
||||
% Allow an option to not replace quotes with a regular directed right
|
||||
% quote/apostrophe (char 0x27), but instead use the undirected quote
|
||||
% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
|
||||
% the default, but it works for pasting with more pdf viewers (at least
|
||||
% evince), the lilypond developers report. xpdf does work with the
|
||||
% regular 0x27.
|
||||
%
|
||||
\def\codequoteright{%
|
||||
\expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
|
||||
\expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
|
||||
'%
|
||||
\else \char'15 \fi
|
||||
\else \char'15 \fi
|
||||
}
|
||||
%
|
||||
% and a similar option for the left quote char vs. a grave accent.
|
||||
% Modern fonts display ASCII 0x60 as a grave accent, so some people like
|
||||
% the code environments to do likewise.
|
||||
%
|
||||
\def\codequoteleft{%
|
||||
\expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
|
||||
\expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
|
||||
`%
|
||||
\else \char'22 \fi
|
||||
\else \char'22 \fi
|
||||
}
|
||||
%
|
||||
\begingroup
|
||||
\catcode`\^^I=\active
|
||||
@@ -6069,13 +6218,6 @@ end
|
||||
\wd0=\dimen0 \box0 \starttabbox
|
||||
}%
|
||||
}
|
||||
\catcode`\'=\active
|
||||
\gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}%
|
||||
%
|
||||
\catcode`\`=\active
|
||||
\gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}%
|
||||
%
|
||||
\gdef\quoteexpand{\rquoteexpand \lquoteexpand}%
|
||||
\endgroup
|
||||
|
||||
% start the verbatim environment.
|
||||
@@ -6085,9 +6227,8 @@ end
|
||||
% Easiest (and conventionally used) font for verbatim
|
||||
\tt
|
||||
\def\par{\leavevmode\egroup\box0\endgraf}%
|
||||
\catcode`\`=\active
|
||||
\tabexpand
|
||||
\quoteexpand
|
||||
\setupmarkupstyle{verbatim}%
|
||||
% Respect line breaks,
|
||||
% print special symbols as themselves, and
|
||||
% make each space count
|
||||
@@ -6147,6 +6288,7 @@ end
|
||||
{%
|
||||
\makevalueexpandable
|
||||
\setupverbatim
|
||||
\indexnofonts % Allow `@@' and other weird things in file names.
|
||||
\input #1
|
||||
\afterenvbreak
|
||||
}%
|
||||
@@ -6246,7 +6388,7 @@ end
|
||||
\def\Edefun{\endgraf\medbreak}
|
||||
|
||||
% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
|
||||
% the only thing remainnig is to define \deffnheader.
|
||||
% the only thing remaining is to define \deffnheader.
|
||||
%
|
||||
\def\makedefun#1{%
|
||||
\expandafter\let\csname E#1\endcsname = \Edefun
|
||||
@@ -6425,7 +6567,7 @@ end
|
||||
%
|
||||
% On the other hand, if an argument has two dashes (for instance), we
|
||||
% want a way to get ttsl. Let's try @var for that.
|
||||
\let\var=\ttslanted
|
||||
\def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
|
||||
#1%
|
||||
\sl\hyphenchar\font=45
|
||||
}
|
||||
@@ -6953,20 +7095,22 @@ end
|
||||
%
|
||||
% Make link in pdf output.
|
||||
\ifpdf
|
||||
\leavevmode
|
||||
\getfilename{#4}%
|
||||
{\indexnofonts
|
||||
\turnoffactive
|
||||
% This expands tokens, so do it after making catcode changes, so _
|
||||
% etc. don't get their TeX definitions.
|
||||
\getfilename{#4}%
|
||||
%
|
||||
% See comments at \activebackslashdouble.
|
||||
{\activebackslashdouble \xdef\pdfxrefdest{#1}%
|
||||
\backslashparens\pdfxrefdest}%
|
||||
%
|
||||
\leavevmode
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
\ifnum\filenamelength>0
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
goto file{\the\filename.pdf} name{\pdfxrefdest}%
|
||||
goto file{\the\filename.pdf} name{\pdfxrefdest}%
|
||||
\else
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
goto name{\pdfmkpgn{\pdfxrefdest}}%
|
||||
goto name{\pdfmkpgn{\pdfxrefdest}}%
|
||||
\fi
|
||||
}%
|
||||
\setcolor{\linkcolor}%
|
||||
@@ -7317,7 +7461,7 @@ end
|
||||
% In case a @footnote appears in a vbox, save the footnote text and create
|
||||
% the real \insert just after the vbox finished. Otherwise, the insertion
|
||||
% would be lost.
|
||||
% Similarily, if a @footnote appears inside an alignment, save the footnote
|
||||
% Similarly, if a @footnote appears inside an alignment, save the footnote
|
||||
% text to a box and make the \insert when a row of the table is finished.
|
||||
% And the same can be done for other insert classes. --kasal, 16nov03.
|
||||
|
||||
@@ -7421,15 +7565,19 @@ end
|
||||
% If the image is by itself, center it.
|
||||
\ifvmode
|
||||
\imagevmodetrue
|
||||
\nobreak\bigskip
|
||||
\nobreak\medskip
|
||||
% Usually we'll have text after the image which will insert
|
||||
% \parskip glue, so insert it here too to equalize the space
|
||||
% above and below.
|
||||
\nobreak\vskip\parskip
|
||||
\nobreak
|
||||
\line\bgroup
|
||||
\fi
|
||||
%
|
||||
% Leave vertical mode so that indentation from an enclosing
|
||||
% environment such as @quotation is respected. On the other hand, if
|
||||
% it's at the top level, we don't want the normal paragraph indentation.
|
||||
\noindent
|
||||
%
|
||||
% Output the image.
|
||||
\ifpdf
|
||||
\dopdfimage{#1}{#2}{#3}%
|
||||
@@ -7440,7 +7588,7 @@ end
|
||||
\epsfbox{#1.eps}%
|
||||
\fi
|
||||
%
|
||||
\ifimagevmode \egroup \bigbreak \fi % space after the image
|
||||
\ifimagevmode \medskip \fi % space after the standalone image
|
||||
\endgroup}
|
||||
|
||||
|
||||
@@ -7712,10 +7860,9 @@ end
|
||||
|
||||
\message{localization,}
|
||||
|
||||
% @documentlanguage is usually given very early, just after
|
||||
% @setfilename. If done too late, it may not override everything
|
||||
% properly. Single argument is the language (de) or locale (de_DE)
|
||||
% abbreviation. It would be nice if we could set up a hyphenation file.
|
||||
% For single-language documents, @documentlanguage is usually given very
|
||||
% early, just after @documentencoding. Single argument is the language
|
||||
% (de) or locale (de_DE) abbreviation.
|
||||
%
|
||||
{
|
||||
\catcode`\_ = \active
|
||||
@@ -7728,10 +7875,11 @@ end
|
||||
\ifeof 1
|
||||
\documentlanguagetrywithoutunderscore{#1_\finish}%
|
||||
\else
|
||||
\globaldefs = 1 % everything in the txi-LL files needs to persist
|
||||
\input txi-#1.tex
|
||||
\fi
|
||||
\closein 1
|
||||
\endgroup
|
||||
\endgroup % end raw TeX
|
||||
\endgroup}
|
||||
}
|
||||
%
|
||||
@@ -7750,9 +7898,36 @@ end
|
||||
}
|
||||
%
|
||||
\newhelp\nolanghelp{The given language definition file cannot be found or
|
||||
is empty. Maybe you need to install it? In the current directory
|
||||
should work if nowhere else does.}
|
||||
is empty. Maybe you need to install it? Putting it in the current
|
||||
directory should work if nowhere else does.}
|
||||
|
||||
% This macro is called from txi-??.tex files; the first argument is the
|
||||
% \language name to set (without the "\lang@" prefix), the second and
|
||||
% third args are \{left,right}hyphenmin.
|
||||
%
|
||||
% The language names to pass are determined when the format is built.
|
||||
% See the etex.log file created at that time, e.g.,
|
||||
% /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log.
|
||||
%
|
||||
% With TeX Live 2008, etex now includes hyphenation patterns for all
|
||||
% available languages. This means we can support hyphenation in
|
||||
% Texinfo, at least to some extent. (This still doesn't solve the
|
||||
% accented characters problem.)
|
||||
%
|
||||
\catcode`@=11
|
||||
\def\txisetlanguage#1#2#3{%
|
||||
% do not set the language if the name is undefined in the current TeX.
|
||||
\expandafter\ifx\csname lang@#1\endcsname \relax
|
||||
\message{no patterns for #1}%
|
||||
\else
|
||||
\global\language = \csname lang@#1\endcsname
|
||||
\fi
|
||||
% but there is no harm in adjusting the hyphenmin values regardless.
|
||||
\global\lefthyphenmin = #2\relax
|
||||
\global\righthyphenmin = #3\relax
|
||||
}
|
||||
|
||||
% Helpers for encodings.
|
||||
% Set the catcode of characters 128 through 255 to the specified number.
|
||||
%
|
||||
\def\setnonasciicharscatcode#1{%
|
||||
@@ -7841,7 +8016,7 @@ should work if nowhere else does.}
|
||||
\gdef^^a8{\"{}}
|
||||
\gdef^^a9{\copyright}
|
||||
\gdef^^aa{\ordf}
|
||||
\gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}}
|
||||
\gdef^^ab{\guillemetleft}
|
||||
\gdef^^ac{$\lnot$}
|
||||
\gdef^^ad{\-}
|
||||
\gdef^^ae{\registeredsymbol}
|
||||
@@ -7860,7 +8035,7 @@ should work if nowhere else does.}
|
||||
\gdef^^b9{$^1$}
|
||||
\gdef^^ba{\ordm}
|
||||
%
|
||||
\gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}}
|
||||
\gdef^^bb{\guilletright}
|
||||
\gdef^^bc{$1\over4$}
|
||||
\gdef^^bd{$1\over2$}
|
||||
\gdef^^be{$3\over4$}
|
||||
@@ -7953,7 +8128,7 @@ should work if nowhere else does.}
|
||||
% Latin2 (ISO-8859-2) character definitions.
|
||||
\def\lattwochardefs{%
|
||||
\gdef^^a0{~}
|
||||
\gdef^^a1{\missingcharmsg{LATIN CAPITAL LETTER A WITH OGONEK}}
|
||||
\gdef^^a1{\ogonek{A}}
|
||||
\gdef^^a2{\u{}}
|
||||
\gdef^^a3{\L}
|
||||
\gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
|
||||
@@ -7970,8 +8145,8 @@ should work if nowhere else does.}
|
||||
\gdef^^af{\dotaccent Z}
|
||||
%
|
||||
\gdef^^b0{\textdegree}
|
||||
\gdef^^b1{\missingcharmsg{LATIN SMALL LETTER A WITH OGONEK}}
|
||||
\gdef^^b2{\missingcharmsg{OGONEK}}
|
||||
\gdef^^b1{\ogonek{a}}
|
||||
\gdef^^b2{\ogonek{ }}
|
||||
\gdef^^b3{\l}
|
||||
\gdef^^b4{\'{}}
|
||||
\gdef^^b5{\v l}
|
||||
@@ -7996,7 +8171,7 @@ should work if nowhere else does.}
|
||||
\gdef^^c7{\cedilla C}
|
||||
\gdef^^c8{\v C}
|
||||
\gdef^^c9{\'E}
|
||||
\gdef^^ca{\missingcharmsg{LATIN CAPITAL LETTER E WITH OGONEK}}
|
||||
\gdef^^ca{\ogonek{E}}
|
||||
\gdef^^cb{\"E}
|
||||
\gdef^^cc{\v E}
|
||||
\gdef^^cd{\'I}
|
||||
@@ -8030,7 +8205,7 @@ should work if nowhere else does.}
|
||||
\gdef^^e7{\cedilla c}
|
||||
\gdef^^e8{\v c}
|
||||
\gdef^^e9{\'e}
|
||||
\gdef^^ea{\missingcharmsg{LATIN SMALL LETTER E WITH OGONEK}}
|
||||
\gdef^^ea{\ogonek{e}}
|
||||
\gdef^^eb{\"e}
|
||||
\gdef^^ec{\v e}
|
||||
\gdef^^ed{\'\i}
|
||||
@@ -8259,10 +8434,14 @@ should work if nowhere else does.}
|
||||
\DeclareUnicodeCharacter{0101}{\=a}
|
||||
\DeclareUnicodeCharacter{0102}{\u{A}}
|
||||
\DeclareUnicodeCharacter{0103}{\u{a}}
|
||||
\DeclareUnicodeCharacter{0104}{\ogonek{A}}
|
||||
\DeclareUnicodeCharacter{0105}{\ogonek{a}}
|
||||
\DeclareUnicodeCharacter{0106}{\'C}
|
||||
\DeclareUnicodeCharacter{0107}{\'c}
|
||||
\DeclareUnicodeCharacter{0108}{\^C}
|
||||
\DeclareUnicodeCharacter{0109}{\^c}
|
||||
\DeclareUnicodeCharacter{0118}{\ogonek{E}}
|
||||
\DeclareUnicodeCharacter{0119}{\ogonek{e}}
|
||||
\DeclareUnicodeCharacter{010A}{\dotaccent{C}}
|
||||
\DeclareUnicodeCharacter{010B}{\dotaccent{c}}
|
||||
\DeclareUnicodeCharacter{010C}{\v{C}}
|
||||
@@ -8410,6 +8589,8 @@ should work if nowhere else does.}
|
||||
\DeclareUnicodeCharacter{0233}{\=y}
|
||||
\DeclareUnicodeCharacter{0237}{\dotless{j}}
|
||||
|
||||
\DeclareUnicodeCharacter{02DB}{\ogonek{ }}
|
||||
|
||||
\DeclareUnicodeCharacter{1E02}{\dotaccent{B}}
|
||||
\DeclareUnicodeCharacter{1E03}{\dotaccent{b}}
|
||||
\DeclareUnicodeCharacter{1E04}{\udotaccent{B}}
|
||||
@@ -8912,6 +9093,8 @@ should work if nowhere else does.}
|
||||
@let>=@normalgreater
|
||||
@let+=@normalplus
|
||||
@let$=@normaldollar %$ font-lock fix
|
||||
@markupsetuplqdefault
|
||||
@markupsetuprqdefault
|
||||
@unsepspaces
|
||||
}
|
||||
|
||||
@@ -8946,7 +9129,15 @@ should work if nowhere else does.}
|
||||
@catcode`@# = @other
|
||||
@catcode`@% = @other
|
||||
|
||||
|
||||
@c Finally, make ` and ' active, so that txicodequoteundirected and
|
||||
@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we
|
||||
@c don't make ` and ' active, @code will not get them as active chars.
|
||||
@c Do this last of all since we use ` in the previous @catcode assignments.
|
||||
@catcode`@'=@active
|
||||
@catcode`@`=@active
|
||||
@markupsetuplqdefault
|
||||
@markupsetuprqdefault
|
||||
|
||||
@c Local variables:
|
||||
@c eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
@c page-delimiter: "^\\\\message"
|
||||
|
||||
Reference in New Issue
Block a user