[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 09/12: Document new CJK/UTF-16 font support features.,
G. Branden Robinson <=