groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[groff] 09/12: Document new CJK/UTF-16 font support features.


From: G. Branden Robinson
Subject: [groff] 09/12: Document new CJK/UTF-16 font support features.
Date: Fri, 6 Dec 2024 06:00:36 -0500 (EST)

gbranden pushed a commit to branch master
in repository groff.

commit 1cfb27606c47adac2720e664c7fd3f155bdf280d
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Thu Dec 5 06:34:45 2024 -0600

    Document new CJK/UTF-16 font support features.
    
    * doc/groff.texi.in (Font Description File Format):
    * man/groff_font.5.man (Font description file format):
    * src/devices/grohtml/grohtml.1.man (Typefaces):
    * src/devices/grops/grops.1.man (Typefaces):
    * src/devices/grotty/grotty.1.man (Typefaces): Do it.
    
    * NEWS: Add item.
---
 ChangeLog                         | 12 +++++++++
 NEWS                              | 39 +++++++++++++++++++++++++++++
 doc/groff.texi.in                 | 22 ++++++++++++++---
 man/groff_font.5.man              | 25 ++++++++++++++++---
 src/devices/grohtml/grohtml.1.man | 52 +++++++++++++++++++++++++++++++++++++++
 src/devices/grops/grops.1.man     | 52 +++++++++++++++++++++++++++++++++++++++
 src/devices/grotty/grotty.1.man   | 52 +++++++++++++++++++++++++++++++++++++++
 7 files changed, 248 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c78445ecf..721d4fa00 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2024-12-05  G. Branden Robinson <g.branden.robinson@gmail.com>
+
+       Document new CJK/UTF-16 font support features.
+
+       * doc/groff.texi.in (Font Description File Format):
+       * man/groff_font.5.man (Font description file format):
+       * src/devices/grohtml/grohtml.1.man (Typefaces):
+       * src/devices/grops/grops.1.man (Typefaces):
+       * src/devices/grotty/grotty.1.man (Typefaces): Do it.
+
+       * NEWS: Add item.
+
 2024-12-05  G. Branden Robinson <g.branden.robinson@gmail.com>
 
        [grolj4, indxbib]: Improve diagnostic messages.
diff --git a/NEWS b/NEWS
index 2393fc366..055daf6f5 100644
--- a/NEWS
+++ b/NEWS
@@ -568,6 +568,11 @@ Macro packages
 Output drivers
 --------------
 
+*  grops(1), the PostScript output driver, now supports fonts encoded
+   using UTF-16.  Indicate the encoding by including the string
+   "-UTF16-" within the font's name as specified by the "internalname"
+   directive in its font description file.  Thanks to TANAKA Takuji.
+
 *  The PostScript output driver grops(1) no longer accepts spaces as
    field separators in its "download" file; this is so that spaces can
    appear in font file names, and to better align the syntax of this
@@ -594,6 +599,12 @@ Output drivers
    more image file formats, including PNG, PAM, and GIF can be embedded.
    See also the item regarding `PDFPIC` above.  Thanks to Deri James.
 
+*  grohtml(1), the (X)HTML output driver, supports a new `-k` command-
+   line option that takes a mandatory argument, either "ascii" or
+   "utf-8", which it recognizes case-insensitively.  This feature
+   configures representation of character entities in the output.  Based
+   on work by TANAKA Takuji.
+
 *  gxditview(1), the X11 output driver and document previewer, now
    accepts the option `-v` as a synonym of `--version` (and `-version`).
    This change aligns it with other groff output drivers, and makes it
@@ -602,6 +613,34 @@ Output drivers
 Miscellaneous
 -------------
 
+*  Font description files now support a variant of the "charset"
+   directive: "charset-range" works like the existing "charset"
+   directive except that the glyph descriptions use a `name` of the form
+   "uFFFF..uFFFF" (where "FFFF" is a hexadecimal digit sequence), and
+   apply the metrics identically to all glyphs in the designated range.
+   Thanks to TANAKA Takuji.
+
+*  groff now ships font description files usable with the "ps", "html",
+   "xhtml", and "utf8" output devices to support East Asian fonts.
+   (Caveat: with few exceptions, groff does not ship font files
+   themselves.)  These are intended as abstractions of faces to permit
+   consistent naming while permitting customization, just as with the 12
+   text typefaces supported across output devices for Latin scripts in
+   groff (three families of four styles each).  These CJK font
+   descriptions are not organized into groff font families, but are
+   similarly arranged.
+
+      CSH: Simplified Chinese, Hei style
+      CSS: Simplified Chinese, Song style
+      CTH: Traditional Chinese, Hei style
+      CTS: Traditional Chinese, Song style
+      JPG: Japanese, Gothic style
+      JPM: Japanese, Mincho style
+      KOG: Korean, Gothic style
+      KOM: Korean, Mincho style
+
+   Thanks to TANAKA Takuji.
+
 *  The commands addftinfo, grodvi, post-grohtml, grolbp, grolj4, grops,
    grotty, eqn, pre-grohtml, gxditview, pic, preconv, refer, soelim,
    tbl, groff, troff, hpftodit, indxbib, lkbib, lookbib, tfmtodit, and
diff --git a/doc/groff.texi.in b/doc/groff.texi.in
index 2df43d31c..785edcc48 100644
--- a/doc/groff.texi.in
+++ b/doc/groff.texi.in
@@ -19311,9 +19311,9 @@ Other directives in this section are ignored by GNU
 but may be used by postprocessors to obtain further information about
 the font.
 
-The second section contains one or two subsections,
-which can appear in either order;
-either starts the second section.
+The second section contains one to three subsections,
+which can appear in any order,
+and any of which starts the second section.
 Each starts with a directive on a line by itself.
 A
 @code{charset}
@@ -19474,6 +19474,22 @@ A line in the @code{charset} section can also have the 
form
 identifying @var{name} as another name for the glyph mentioned in the
 preceding line.  Such aliases can be chained.
 
+@kindex charset-range
+A
+@code{charset-range}
+subsection works like the
+@code{charset}
+directive except that the glyph descriptions use a
+@var{name} of the form
+@code{u}@var{AAAA}@code{..u}@var{FFFF},
+where
+@var{AAAA}
+and
+@var{FFFF}
+are hexadecimal digit sequences;
+the specified metrics then apply identically
+to all glyphs in the designated range.
+
 @kindex kernpairs
 The directive @code{kernpairs} starts a list of kerning adjustments to
 be made to adjacent glyph pairs from this font.  It contains a sequence
diff --git a/man/groff_font.5.man b/man/groff_font.5.man
index 68b697b47..2c9f69986 100644
--- a/man/groff_font.5.man
+++ b/man/groff_font.5.man
@@ -689,9 +689,9 @@ the font.
 .
 .
 .P
-The second section contains one or two subsections,
-which can appear in either order;
-either starts the second section.
+The second section contains one to three subsections,
+which can appear in any order,
+and any of which starts the second section.
 .
 Each starts with a directive on a line by itself.
 .
@@ -1008,6 +1008,25 @@ Such aliases can be chained.
 .
 .
 .P
+A
+.B \%charset\-range
+subsection works like the
+.B charset
+directive except that the glyph descriptions use a
+.I name
+of the form
+.BI u AAAA ..u FFFF\c
+,
+where
+.I AAAA
+and
+.I FFFF
+are hexadecimal digit sequences;
+the specified metrics then apply identically
+to all glyphs in the designated range.
+.
+.
+.P
 The directive
 .B \%kernpairs
 starts a list of kerning adjustments to be made to adjacent glyph pairs
diff --git a/src/devices/grohtml/grohtml.1.man 
b/src/devices/grohtml/grohtml.1.man
index 2d2dc371b..e741c1aa9 100644
--- a/src/devices/grohtml/grohtml.1.man
+++ b/src/devices/grohtml/grohtml.1.man
@@ -277,6 +277,58 @@ is also provided to accommodate
 documents that expect it to always be available.
 .
 .
+.P
+.I \%grohtml
+furthermore supports a naming scheme for East Asian typefaces
+shared with
+.MR grops @MAN1EXT@
+and
+.MR grotty @MAN1EXT@ .
+.
+.
+.RS
+.TP
+.B CSH
+Simplified Chinese,
+Hei style
+.
+.TQ
+.B CSS
+Simplified Chinese,
+Song style
+.
+.TQ
+.B CTH
+Traditional Chinese,
+Hei style
+.
+.TQ
+.B CTS
+Traditional Chinese,
+Song style
+.
+.TQ
+.B JPG
+Japanese,
+Gothic style
+.
+.TQ
+.B JPM
+Japanese,
+Mincho style
+.
+.TQ
+.B KOG
+Korean,
+Gothic style
+.
+.TQ
+.B KOM
+Korean,
+Mincho style
+.RE
+.
+.
 .\" ====================================================================
 .SS "Font description files"
 .\" ====================================================================
diff --git a/src/devices/grops/grops.1.man b/src/devices/grops/grops.1.man
index b60a49469..5b3a2cbf2 100644
--- a/src/devices/grops/grops.1.man
+++ b/src/devices/grops/grops.1.man
@@ -887,6 +887,58 @@ and therefore included in the default
 file.
 .
 .
+.P
+.I grops
+furthermore supports a naming scheme for East Asian typefaces
+shared with
+.MR grohtml @MAN1EXT@
+and
+.MR grotty @MAN1EXT@ .
+.
+.
+.RS
+.TP
+.B CSH
+Simplified Chinese,
+Hei style
+.
+.TQ
+.B CSS
+Simplified Chinese,
+Song style
+.
+.TQ
+.B CTH
+Traditional Chinese,
+Hei style
+.
+.TQ
+.B CTS
+Traditional Chinese,
+Song style
+.
+.TQ
+.B JPG
+Japanese,
+Gothic style
+.
+.TQ
+.B JPM
+Japanese,
+Mincho style
+.
+.TQ
+.B KOG
+Korean,
+Gothic style
+.
+.TQ
+.B KOM
+Korean,
+Mincho style
+.RE
+.
+.
 .\" ====================================================================
 .SS "Device extension commands"
 .\" ====================================================================
diff --git a/src/devices/grotty/grotty.1.man b/src/devices/grotty/grotty.1.man
index 6ff91e733..5654a8070 100644
--- a/src/devices/grotty/grotty.1.man
+++ b/src/devices/grotty/grotty.1.man
@@ -396,6 +396,58 @@ mode,
 attempts to set or change the font family or type size are ignored.
 .
 .
+.P
+.I grotty
+furthermore supports a naming scheme for East Asian typefaces
+shared with
+.MR grohtml @MAN1EXT@
+and
+.MR grops @MAN1EXT@ .
+.
+.
+.RS
+.TP
+.B CSH
+Simplified Chinese,
+Hei style
+.
+.TQ
+.B CSS
+Simplified Chinese,
+Song style
+.
+.TQ
+.B CTH
+Traditional Chinese,
+Hei style
+.
+.TQ
+.B CTS
+Traditional Chinese,
+Song style
+.
+.TQ
+.B JPG
+Japanese,
+Gothic style
+.
+.TQ
+.B JPM
+Japanese,
+Mincho style
+.
+.TQ
+.B KOG
+Korean,
+Gothic style
+.
+.TQ
+.B KOM
+Korean,
+Mincho style
+.RE
+.
+.
 .
 .\" ====================================================================
 .SH Options



reply via email to

[Prev in Thread] Current Thread [Next in Thread]