From 1b07c1c86eded5382517ffcc1140a5ef1a6fcb1b Mon Sep 17 00:00:00 2001 From: "G. Branden Robinson" Date: Wed, 8 Mar 2023 05:04:42 -0600 Subject: [docs]: Add Russian language support (6/7). * doc/groff.texi (Input Encodings, Manipulating Hyphenation): * doc/ms.ms: * man/groff_tmac.5.man (Localization packages, Input encodings): * man/groff.7.man (Localization): Document support for KOI8-R encoding and Russian language. --- ChangeLog | 10 ++++++++++ doc/groff.texi | 34 ++++++++++++++++++++++++++++------ doc/ms.ms | 3 ++- man/groff.7.man | 3 +++ man/groff_tmac.5.man | 32 ++++++++++++++++++++++++++++++++ 5 files changed, 75 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 59e2159c9..f407a5229 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2023-03-08 G. Branden Robinson + + [docs]: Add Russian language support (6/7). + + * doc/groff.texi (Input Encodings, Manipulating Hyphenation): + * doc/ms.ms: + * man/groff_tmac.5.man (Localization packages, Input encodings): + * man/groff.7.man (Localization): Document support for KOI8-R + encoding and Russian language. + 2023-03-08 G. Branden Robinson [tmac]: Add Russian language support (5/7). diff --git a/doc/groff.texi b/doc/groff.texi index 7e300dbef..de83cd5d2 100644 --- a/doc/groff.texi +++ b/doc/groff.texi @@ -5499,6 +5499,23 @@ The remaining encodings require support that is not built-in to the GNU @code{troff} executable; instead, they use macro packages. @table @code +@item koi8-r +@cindex encoding, input, @w{KOI8-R} +@cindex @w{KOI8-R}, input encoding +@cindex input encoding, @w{KOI8-R} +@pindex koi8-r.tmac +To use @w{KOI8-R}, an encoding for the Russian language, either place +@w{@samp{.mso koi8-r.tmac}} at the very beginning of your document or +supply @samp{-mkoi8-r} as a command-line argument to @code{groff}. The +localization file @file{ru.tmac} takes care of this automatically; see +@ref{Manipulating Hyphenation}.@footnote{KOI8-R code points in the range +@code{0x80}--@code{0x9F} are not valid input on systems using ISO +character codings natively; see @code{Identifiers}. This should be no +impediment to practical documents, as these KOI8-R code points do not +encode letters, but box-drawing symbols and characters that are better +obtained via special character escape sequences; see the +@cite{groff_char@r{(7)}} man page.} + @item latin2 @cindex encoding, input, @w{Latin-2} (ISO @w{8859-2}) @cindex @w{Latin-2} (ISO @w{8859-2}), input encoding @@ -8507,6 +8524,7 @@ together because they contradict; for instance, values 4 and@tie{}16, and values 8 and@tie{}32. As noted, it is superfluous to add 1 to any nonzero even mode. +@c TODO: Add @pindex for hyphenation pattern and exception files. @cindex hyphenation pattern files @cindex pattern files, for hyphenation The automatic placement of hyphens in words is determined by @@ -8554,6 +8572,7 @@ the @cite{groff_tmac@r{(5)}} man page for more information on GNU @item German traditional @tab det @tab 2 @tab 2 @item German reformed @tab den @tab 2 @tab 2 @item Italian @tab it @tab 2 @tab 2 +@item Russian @tab ru @tab 2 @tab 2 @item Swedish @tab sv @tab 1 @tab 2 @end multitable @@ -8637,18 +8656,21 @@ be used. By default, every code maps to itself except those for letters @pindex fr.tmac @pindex it.tmac @pindex ja.tmac +@pindex ru.tmac @pindex sv.tmac @pindex zh.tmac The set of hyphenation patterns is associated with the language set by the @code{hla} request (see below). The @code{hpf} request is usually invoked by a localization file loaded by the @file{troffrc} file. By default, @file{troffrc} loads the localization file for -English.@footnote{As of @code{groff} 1.23.0, localization files for -Czech (@code{cs}), German (@code{de}), English (@code{en}), French -(@code{fr}), Italian (@code{it}), Japanese (@code{ja}), Swedish -(@code{sv}), and Chinese (@code{zh}) exist.} For Western languages, the -localization file sets the hyphenation mode and loads hyphenation -patterns and exceptions. +English.@footnote{As of @code{groff} +@c XXX 1.23.0 +1.23.0++, +localization files for Czech (@code{cs}), German (@code{de}), English +(@code{en}), French (@code{fr}), Italian (@code{it}), Japanese +(@code{ja}), Russian (@code{ru}), Swedish (@code{sv}), and Chinese +(@code{zh}) exist.} For Western languages, the localization file sets +the hyphenation mode and loads hyphenation patterns and exceptions. A second call to @code{hpf} (for the same language) replaces the hyphenation patterns with the new ones. Invoking @code{hpf} or diff --git a/doc/ms.ms b/doc/ms.ms index a3573e6b4..e532f7356 100644 --- a/doc/ms.ms +++ b/doc/ms.ms @@ -3006,11 +3006,12 @@ provides several strings that you can customize for your own purposes, or redefine to adapt the macro package to languages other than English. . It is already localized for -.\" cs, de, fr, it, sv +.\" cs, de, fr, it, ru, sv Czech, German, French, Italian, +Russian, and Swedish. . diff --git a/man/groff.7.man b/man/groff.7.man index e16ec458f..b2abf52a2 100644 --- a/man/groff.7.man +++ b/man/groff.7.man @@ -6374,10 +6374,13 @@ English .RI ( en ), French .RI ( fr ), +.\" XXX: FIXME Japanese .RI ( it ), Italian .RI ( ja ), +Russian +.RI ( ru ), Swedish .RI ( sv ), and Chinese diff --git a/man/groff_tmac.5.man b/man/groff_tmac.5.man index 8126e594f..6eca61cbc 100644 --- a/man/groff_tmac.5.man +++ b/man/groff_tmac.5.man @@ -397,6 +397,21 @@ Japanese. . . .TP +.I ru +Russian; +localizes +.IR man , +.IR me , +.IR mm , +.IR mom , +and +.IR ms . +. +Sets the input encoding to KOI8-R by loading +.IR koi8-r.tmac . +. +. +.TP .I sv Swedish; localizes @@ -460,6 +475,23 @@ loads automatically at startup. . . +.TP +.I koi8\-r +provides support for the KOI8-R encoding. +. +KOI8-R code points in the range 0x80\[en]0x9F are not valid input on +systems using ISO character codings natively; +see section \[lq]Identifiers\[rq] in +.MR groff @MAN7EXT@ . +. +This should be no impediment to practical documents, +as these KOI8-R code points do not encode letters, +but box-drawing symbols and characters that are better obtained via +special character escape sequences; +see +.MR groff_char @MAN7EXT@ . +. +. .P Because different input character codes constitute valid GNU .I troff \" GNU -- cgit v1.2.1