From: Han-Wen Nienhuys Date: Sun, 24 Oct 2004 13:47:36 +0000 (+0000) Subject: * tex/GNUmakefile (TEX_FILES): add texinfo.cnf X-Git-Tag: release/2.3.25~23 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=a23264aee8cab5acaa94cdc103f2497c3f042543;p=lilypond.git * tex/GNUmakefile (TEX_FILES): add texinfo.cnf * stepmake/stepmake/texinfo-vars.make (MAKEINFO): add --enable-encoding * Documentation/user/lilypond.tely: add -*- coding: latin-1 -*- everywhere. * Documentation/user/changing-defaults.itely (Text encoding): change to latin1. * Documentation/user/lilypond.tely: add language and encoding. * scm/define-grobs.scm (all-grob-descriptions): add line-interface. * configure.in (PKG_CONFIG_PATH): bump makeinfo version to 4.7 * input/test/ossia.ly: font sizes for ossia. --- diff --git a/ChangeLog b/ChangeLog index 97ba2cb4e2..ce15cec154 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,24 @@ 2004-10-24 Han-Wen Nienhuys + * tex/GNUmakefile (TEX_FILES): add texinfo.cnf + + * stepmake/stepmake/texinfo-vars.make (MAKEINFO): add + --enable-encoding + + * Documentation/user/lilypond.tely: add -*- coding: latin-1 -*- everywhere. + + * Documentation/user/changing-defaults.itely (Text encoding): + change to latin1. + + * Documentation/user/lilypond.tely: add language and encoding. + + * scm/define-grobs.scm (all-grob-descriptions): add + line-interface. + + * configure.in (PKG_CONFIG_PATH): bump makeinfo version to 4.7 + + * input/test/ossia.ly: font sizes for ossia. + * scripts/convert-ly.py (conv): \context Foo = NOTENAME -> \context Foo = "NOTENAME". diff --git a/Documentation/topdocs/NEWS.texi b/Documentation/topdocs/NEWS.texi index 43b797fa53..4b6390bd57 100644 --- a/Documentation/topdocs/NEWS.texi +++ b/Documentation/topdocs/NEWS.texi @@ -7,9 +7,6 @@ @unnumbered New features in 2.4 since 2.2 @itemize @bullet -@item @code{\bookpaper} and @code{\paper} have been renamed to -@code{\paper} and @code{\layout} respectively, to better match their -function. @item Parts that use @code{\quote} can now be transposed. @@ -112,11 +109,12 @@ following code may be used. @} @end example -@item A new block, @code{\bookpaper} has been introduced to -hold settings for paper size and output scaling. Further options -include @code{raggedbottom} (if set, systems are not vertically filled -to reach the bottom of the page), and @code{raggedlastbottom}. - +@item +The @code{\paper} block has been renamed to @code{\layout}. A new +@code{\paper} block has been introduced to hold settings for paper +size and output scaling. Further options include @code{raggedbottom} +(if set, systems are not vertically filled to reach the bottom of the +page), and @code{raggedlastbottom}. @item Support for fret diagrams has been contributed by Carl @@ -167,7 +165,7 @@ introduced using a @code{$} character (@code{$$} results in a single @item A music list at toplevel is interpreted as implicit @code{\score} a @code{\score} block at toplevel is interpreted as an implicit -@code{\book} and @code{\notes} mode is the default lexer mode. The +@code{\book} and @code{\notemode} mode is the default lexer mode. The result is that @example @@ -181,7 +179,7 @@ is interpreted as \header @{ title = "The Title" @} \book @{ \score @{ - \notes @{ a b c @} + \notemode @{ a b c @} @} @} @end example @@ -193,20 +191,19 @@ This is handled by the function defined in results can be obtained. @item Mode changing commands, -such as @code{\chords} and @code{\figures} must now be directly +such as @code{\chordmode} and @code{\figuremode} must now be directly followed by delimiters. The following example demonstrates the new behavior, @verbatim - \figures \context Figures { .. } % wrong - \context Figures \figures { .. } % right + \figuremode \context Figures { .. } % wrong + \context Figures \figuremode { .. } % right @end verbatim @item The starting pitch for @code{relative} music is optional for music lists. The default value is middle C. -@c update-me? formal definition of newaddlyrics, once it works @item Combining lyrics with music can be done with @code{\addlyrics} @example @@ -214,15 +211,17 @@ The default value is middle C. \clef bass d2 d c4 bes a2 \break @} - \newlyrics @{ + \addlyrics @{ My first Li -- ly song, @} - \newlyrics @{ + \addlyrics @{ Not much can go wrong! @} @end example -Syntactically, @code{\addlyrics} acts like an infix operator. +Syntactically, @code{\addlyrics} is an infix operator. It is a +shortcut for a combination of @code{\new Lyrics}, @code{\lyricmode} +and @code{\lyricsto}. @item The parser is encapsulated in a Scheme function @code{ly:parse-file}, so the following fragment processes two files @@ -257,14 +256,16 @@ entity. For example, two scores are combined in one book with @item Titling and page breaks are handled by LilyPond. Page breaks may be inserted manually with + @example \pageBreak @end example @item -The @code{lilypond} program does not generate La@TeX{} titles or page -layout. If you need La@TeX{} titles, you can use the -@code{lilypond-book} program. +Invoking @code{lilypond} runs the actual binary, which not use +La@TeX{} for titling or page layout. If you need La@TeX{} code in +titles, you can use the @code{lilypond-book} program. The former +@code{lilypond} script has been retained as @code{lilypond-latex}. @item There is now less of a noticeable ``hook'' at the end of a long slur. @@ -273,6 +274,10 @@ layout. If you need La@TeX{} titles, you can use the @end itemize + + +@c **************************************************************** + @unnumbered New features in 2.2 since 2.0 @itemize @bullet diff --git a/Documentation/user/changing-defaults.itely b/Documentation/user/changing-defaults.itely index 5eed1c5783..38abc74963 100644 --- a/Documentation/user/changing-defaults.itely +++ b/Documentation/user/changing-defaults.itely @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @node Changing defaults @chapter Changing defaults @@ -1546,13 +1546,13 @@ the following will usually not produce ba@ss{}tuba in the title. @verbatim \header { title = "Grazing cow" - instrument = "Baßtuba" + instrument = "Baßtuba" } @end verbatim Rather, you should say @verbatim - instrument = \markup { Baßtuba } + instrument = \markup { Baßtuba } @end verbatim @noindent diff --git a/Documentation/user/cheatsheet.itely b/Documentation/user/cheatsheet.itely index a8ca8bcb68..567ba04554 100644 --- a/Documentation/user/cheatsheet.itely +++ b/Documentation/user/cheatsheet.itely @@ -1,5 +1,4 @@ -@c -*-texinfo-*- - +@c -*- coding: latin-1; mode: texinfo; -*- @c TODO: add tablature. diff --git a/Documentation/user/converters.itely b/Documentation/user/converters.itely index b84ef3f496..52e44729cd 100644 --- a/Documentation/user/converters.itely +++ b/Documentation/user/converters.itely @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @node Converting from other formats @chapter Converting from other formats diff --git a/Documentation/user/examples.itely b/Documentation/user/examples.itely index b49813d864..583080be49 100644 --- a/Documentation/user/examples.itely +++ b/Documentation/user/examples.itely @@ -1,4 +1,4 @@ -@c Note: -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @node Example templates @chapter Example templates diff --git a/Documentation/user/introduction.itely b/Documentation/user/introduction.itely index 6d42beab6f..153fc82da3 100644 --- a/Documentation/user/introduction.itely +++ b/Documentation/user/introduction.itely @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @c This file is part of lilypond.tely @node Introduction diff --git a/Documentation/user/invoking.itely b/Documentation/user/invoking.itely index aea9bc682d..3a5757a981 100644 --- a/Documentation/user/invoking.itely +++ b/Documentation/user/invoking.itely @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @node Running LilyPond @chapter Running LilyPond diff --git a/Documentation/user/lilypond-book.itely b/Documentation/user/lilypond-book.itely index 52d18c5f48..56a3a013c1 100644 --- a/Documentation/user/lilypond-book.itely +++ b/Documentation/user/lilypond-book.itely @@ -1,4 +1,5 @@ -@c -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- + @ignore diff --git a/Documentation/user/lilypond.tely b/Documentation/user/lilypond.tely index 23124387e4..d9e2bb6803 100644 --- a/Documentation/user/lilypond.tely +++ b/Documentation/user/lilypond.tely @@ -1,4 +1,4 @@ -\input texinfo @c -*-texinfo-*- +\input texinfo @c -*- coding: latin-1; mode: texinfo; -*- @setfilename lilypond.info @settitle GNU LilyPond @iftex @@ -84,6 +84,9 @@ PostScript} and @uref{../lilypond.pdf,PDF}. @end ifhtml +@documentlanguage en +@documentencoding ISO-8859-1 + @syncodeindex fn cp @syncodeindex ky cp @syncodeindex pg cp diff --git a/Documentation/user/macros.itexi b/Documentation/user/macros.itexi index 703546a688..9e595fd779 100644 --- a/Documentation/user/macros.itexi +++ b/Documentation/user/macros.itexi @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @tex \input feta20.tex diff --git a/Documentation/user/music-glossary.tely b/Documentation/user/music-glossary.tely index e61c413384..862d4df28d 100644 --- a/Documentation/user/music-glossary.tely +++ b/Documentation/user/music-glossary.tely @@ -1,4 +1,5 @@ -\input texinfo @c -*-texinfo-*- +\input texinfo @c -*- coding: latin-1; mode: texinfo; -*- + @settitle Music Glossary @setfilename music-glosssary.info diff --git a/Documentation/user/notation-appendices.itely b/Documentation/user/notation-appendices.itely index 2222741bf7..3e60499455 100644 --- a/Documentation/user/notation-appendices.itely +++ b/Documentation/user/notation-appendices.itely @@ -1,4 +1,4 @@ -@c Note: -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @c This file is part of lilypond.tely @node Notation manual details diff --git a/Documentation/user/notation.itely b/Documentation/user/notation.itely index f6a0b956eb..d63bdcd4aa 100644 --- a/Documentation/user/notation.itely +++ b/Documentation/user/notation.itely @@ -1,4 +1,4 @@ -@c Note: -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @c This file is part of lilypond.tely @c A menu is needed before every deeper *section nesting of @node's; run diff --git a/Documentation/user/preface.itely b/Documentation/user/preface.itely index aaca1f9f49..9ae124b8cf 100644 --- a/Documentation/user/preface.itely +++ b/Documentation/user/preface.itely @@ -1,4 +1,4 @@ -@comment @c -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @node Preface @unnumbered Preface diff --git a/Documentation/user/programming-interface.itely b/Documentation/user/programming-interface.itely index f4a3f43eed..9d91aab009 100644 --- a/Documentation/user/programming-interface.itely +++ b/Documentation/user/programming-interface.itely @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @node Interfaces for programmers @chapter Interfaces for programmers diff --git a/Documentation/user/sound-output.itexi b/Documentation/user/sound-output.itexi index be785d2567..cd219f33b8 100644 --- a/Documentation/user/sound-output.itexi +++ b/Documentation/user/sound-output.itexi @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @node Sound @chapter Sound @cindex Sound diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index 2285e684b0..d18ea8ae71 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -1,4 +1,4 @@ -@c -*-texinfo-*- +@c -*- coding: latin-1; mode: texinfo; -*- @c This file is part of lilypond.tely @c TODO: diff --git a/THANKS b/THANKS index 7ced1be2cf..5402806268 100644 --- a/THANKS +++ b/THANKS @@ -18,6 +18,7 @@ Guy Gascoigne-Piggford Heikki Junes Hendrik Maryns Kristof Bastiaensen +Mats Bengtsson Michael Welsh Duggan Pedro Kroger Peter Lutek diff --git a/configure.in b/configure.in index cedc9459bc..27e838d06e 100644 --- a/configure.in +++ b/configure.in @@ -87,7 +87,7 @@ STEPMAKE_PERL(OPTIONAL) STEPMAKE_PROGS(MFTRACE, mftrace, OPTIONAL, 1.0.27) # new makeinfo for multi-page website docs -STEPMAKE_PROGS(MAKEINFO, makeinfo, OPTIONAL, 4.6) +STEPMAKE_PROGS(MAKEINFO, makeinfo, OPTIONAL, 4.7) AC_SUBST(MAKEINFO_VERSION) diff --git a/input/test/bar-lines.ly b/input/test/bar-lines.ly index 77c81a0fb1..7c78144eaa 100644 --- a/input/test/bar-lines.ly +++ b/input/test/bar-lines.ly @@ -10,6 +10,8 @@ \layout { raggedright = ##t } \relative { + \override Score.Mark #'padding = #3 + c4 \bar "|" \mark \markup { \simple #"|" } c \bar "|:" \mark \markup { \simple #"|:" } c \bar "||" \mark \markup { \simple #"||" } diff --git a/input/test/boxed-stencil.ly b/input/test/boxed-stencil.ly index 9f008ca2be..692b34160f 100644 --- a/input/test/boxed-stencil.ly +++ b/input/test/boxed-stencil.ly @@ -19,7 +19,7 @@ grob. " } \override Score.RehearsalMark #'print-function = #(make-stencil-boxer 0.15 0.3 0.3 Text_interface::print) - c8 + b8 \revert Stem #'print-function c4. c4 \mark "F" c1 diff --git a/input/test/ossia.ly b/input/test/ossia.ly index cccd687df1..7cd2864257 100644 --- a/input/test/ossia.ly +++ b/input/test/ossia.ly @@ -19,6 +19,8 @@ { c1 c1 } \new Staff \with { \remove "Time_signature_engraver" + fontSize = #-2 + \override StaffSymbol #'staff-space = #(magstep -2) } { c,4^"ossia" es f fis g1 } @@ -26,7 +28,11 @@ c1 \break c c } %% solution 2 - \new Staff { R1*2 c,4^"ossia" es f fis g1 R1 * 3 } + \new Staff \with { + fontSize = #-2 + \override StaffSymbol #'staff-space = #(magstep -2) + + } { R1*2 c,4^"ossia" es f fis g1 R1 * 3 } >> diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 8c276a97be..eca4ce72a1 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -466,7 +466,7 @@ (Y-extent-callback . #f) (after-line-breaking-callback . ,Line_spanner::after_line_breaking) (print-function . ,Line_spanner::print) - (meta . ((interfaces . (line-spanner-interface spanner-interface)))) + (meta . ((interfaces . (line-interface line-spanner-interface spanner-interface)))) )) (Hairpin diff --git a/scm/documentation-lib.scm b/scm/documentation-lib.scm index 943265e695..4f7a0f0594 100644 --- a/scm/documentation-lib.scm +++ b/scm/documentation-lib.scm @@ -144,6 +144,9 @@ ;; prepend GNU for dir, must be unique "\n* GNU " name ": (" file-name "). " name "." "\n@end direntry" + "@documentlanguage en\n" + "@documentencoding ISO-8859-1\n" + )) diff --git a/stepmake/stepmake/texinfo-vars.make b/stepmake/stepmake/texinfo-vars.make index 9836825376..b615e06079 100644 --- a/stepmake/stepmake/texinfo-vars.make +++ b/stepmake/stepmake/texinfo-vars.make @@ -11,7 +11,8 @@ GENERATE_OMF = $(PYTHON) $(depth)/buildscripts/texi2omf.py --format $(1) --locat TEXINFO_PAPERSIZE_OPTION= $(if $(findstring $(PAPERSIZE),a4),,-t @afourpaper) -MAKEINFO = LANG= $(MAKEINFO_PROGRAM) +MAKEINFO = LANG= $(MAKEINFO_PROGRAM) --enable-encoding + # info stuff INFO_INSTALL_FILES = $(wildcard $(addsuffix *, $(INFO_FILES))) diff --git a/tex/GNUmakefile b/tex/GNUmakefile index 82982372e3..311a08cdcd 100644 --- a/tex/GNUmakefile +++ b/tex/GNUmakefile @@ -1,7 +1,7 @@ depth = .. -TEX_FILES = $(wildcard *.tex) -EXTRA_DIST_FILES = $(TEX_FILES) +TEX_FILES = $(wildcard *.tex) texinfo.cnf +EXTRA_DIST_FILES = $(TEX_FILES) STEPMAKE_TEMPLATES=install INSTALLATION_DIR=$(local_lilypond_datadir)/tex/ diff --git a/tex/texinfo.cnf b/tex/texinfo.cnf new file mode 100644 index 0000000000..d9311f2399 --- /dev/null +++ b/tex/texinfo.cnf @@ -0,0 +1,196 @@ +@c We map some latin-1 characters to corresponding texinfo macros. + +@tex +\global\catcode`^^a0\active % ` ' +\gdef^^a0{\tie} +\global\catcode`^^a1\active % ¡ +\gdef^^a1{\exclamdown} +%\global\catcode`^^a2\active % ¢ +%\gdef^^a2{} +\global\catcode`^^a3\active % £ +\gdef^^a3{\pounds} +%\global\catcode`^^a4\active % ¤ +%\gdef^^a4{} +%\global\catcode`^^a5\active % ¥ +%\gdef^^a5{} +%\global\catcode`^^a6\active % ¦ +%\gdef^^a6{} +%\global\catcode`^^a7\active % § +%\gdef^^a7{} +\global\catcode`^^a8\active % ¨ +\gdef^^a8{\"{ }} +\global\catcode`^^a9\active % © +\gdef^^a9{\copyright} +\global\catcode`^^aa\active % ª +\gdef^^aa{\ordf} +%\global\catcode`^^ab\active % « +%\gdef^^ab{} +%\global\catcode`^^ac\active % ¬ +%\gdef^^ac{} +%\global\catcode`^^ad\active % ­ +%\gdef^^ad{} +\global\catcode`^^ae\active % ® +\gdef^^ae{\registeredsymbol} +\global\catcode`^^af\active % ¯ +\gdef^^af{\={ }} +\global\catcode`^^b0\active % ° +\gdef^^b0{\ringaccent{ }} +%\global\catcode`^^b1\active % ± +%\gdef^^b1{} +%\global\catcode`^^b2\active % ² +%\gdef^^b2{} +%\global\catcode`^^b3\active % ³ +%\gdef^^b3{} +\global\catcode`^^b4\active % ´ +\gdef^^b4{\'{ }} +%\global\catcode`^^b5\active % µ +%\gdef^^b5{} +%\global\catcode`^^b6\active % ¶ +%\gdef^^b6{} +%\global\catcode`^^b7\active % · +%\gdef^^b7{} +\global\catcode`^^b8\active % ¸ +\gdef^^b8{\,{ }} +%\global\catcode`^^b9\active % ¹ +%\gdef^^b9{} +\global\catcode`^^ba\active % º +\gdef^^ba{\ordm} +%\global\catcode`^^bb\active % » +%\gdef^^bb{} +%\global\catcode`^^bc\active % ¼ +%\gdef^^bc{} +%\global\catcode`^^bd\active % ½ +%\gdef^^bd{} +%\global\catcode`^^be\active % ¾ +%\gdef^^be{} +\global\catcode`^^bf\active % ¿ +\gdef^^bf{\exclamdown} +\global\catcode`^^c0\active % À +\gdef^^c0{\`A} +\global\catcode`^^c1\active % Á +\gdef^^c1{\'A} +\global\catcode`^^c2\active %  +\gdef^^c2{\^A} +\global\catcode`^^c3\active % à +\gdef^^c3{\~A} +\global\catcode`^^c4\active % Ä +\gdef^^c4{\"A} +\global\catcode`^^c5\active % Å +\gdef^^c5{\AA} +\global\catcode`^^c6\active % Æ +\gdef^^c6{\AE} +\global\catcode`^^c7\active % Ç +\gdef^^c7{\,{C}} +\global\catcode`^^c8\active % È +\gdef^^c8{\`E} +\global\catcode`^^c9\active % É +\gdef^^c9{\'E} +\global\catcode`^^ca\active % Ê +\gdef^^ca{\^E} +\global\catcode`^^cb\active % Ë +\gdef^^cb{\"E} +\global\catcode`^^cc\active % Ì +\gdef^^cc{\`I} +\global\catcode`^^cd\active % Í +\gdef^^cd{\'I} +\global\catcode`^^ce\active % Î +\gdef^^ce{\^I} +\global\catcode`^^cf\active % Ï +\gdef^^cf{\"I} +%\global\catcode`^^d0\active % Ð +%\gdef^^d0{} +\global\catcode`^^d1\active % Ñ +\gdef^^d1{\~N} +\global\catcode`^^d2\active % Ò +\gdef^^d2{\`O} +\global\catcode`^^d3\active % Ó +\gdef^^d3{\'O} +\global\catcode`^^d4\active % Ô +\gdef^^d4{\^O} +\global\catcode`^^d5\active % Õ +\gdef^^d5{\~O} +\global\catcode`^^d6\active % Ö +\gdef^^d6{\"O} +%\global\catcode`^^d7\active % × +%\gdef^^d7{} +\global\catcode`^^d8\active % Ø +\gdef^^d8{\O} +\global\catcode`^^d9\active % Ù +\gdef^^d9{\`U} +\global\catcode`^^da\active % Ú +\gdef^^da{\'U} +\global\catcode`^^db\active % Û +\gdef^^db{\^U} +\global\catcode`^^dc\active % Ü +\gdef^^dc{\"U} +\global\catcode`^^dd\active % Ý +\gdef^^dd{\'Y} +%\global\catcode`^^de\active % Þ +%\gdef^^de{} +\global\catcode`^^df\active % ß +\gdef^^df{\ss} +\global\catcode`^^e0\active % à +\gdef^^e0{\`a} +\global\catcode`^^e1\active % á +\gdef^^e1{\'a} +\global\catcode`^^e2\active % â +\gdef^^e2{\^a} +\global\catcode`^^e3\active % ã +\gdef^^e3{\~a} +\global\catcode`^^e4\active % ä +\gdef^^e4{\"a} +\global\catcode`^^e5\active % å +\gdef^^e5{\aa} +\global\catcode`^^e6\active % æ +\gdef^^e6{\ae} +\global\catcode`^^e7\active % ç +\gdef^^e7{\,{c}} +\global\catcode`^^e8\active % è +\gdef^^e8{\`e} +\global\catcode`^^e9\active % é +\gdef^^e9{\'e} +\global\catcode`^^ea\active % ê +\gdef^^ea{\^e} +\global\catcode`^^eb\active % ë +\gdef^^eb{\"e} +\global\catcode`^^ec\active % ì +\gdef^^ec{\`{\dotless{i}}} +\global\catcode`^^ed\active % í +\gdef^^ed{\'{\dotless{i}}} +\global\catcode`^^ee\active % î +\gdef^^ee{\^{\dotless{i}}} +\global\catcode`^^ef\active % ï +\gdef^^ef{\"{\dotless{i}}} +%\global\catcode`^^f0\active % ð +%\gdef^^f0{} +\global\catcode`^^f1\active % ñ +\gdef^^f1{\~n} +\global\catcode`^^f2\active % ò +\gdef^^f2{\`o} +\global\catcode`^^f3\active % ó +\gdef^^f3{\'o} +\global\catcode`^^f4\active % ô +\gdef^^f4{\^o} +\global\catcode`^^f5\active % õ +\gdef^^f5{\~o} +\global\catcode`^^f6\active % ö +\gdef^^f6{\"o} +%\global\catcode`^^f7\active % ÷ +%\gdef^^f7{} +\global\catcode`^^f8\active % ø +\gdef^^f8{\o} +\global\catcode`^^f9\active % ù +\gdef^^f9{\`u} +\global\catcode`^^fa\active % ú +\gdef^^fa{\'u} +\global\catcode`^^fb\active % û +\gdef^^fb{\^u} +\global\catcode`^^fc\active % ü +\gdef^^fc{\"u} +\global\catcode`^^fd\active % ý +\gdef^^fd{\'y} +%\global\catcode`^^fe\active % þ +%\gdef^^fe{} +\global\catcode`^^ff\active % ÿ +\gdef^^ff{\"y} +@end tex