Hi Werner, Sorry to knock on the door at the Home for Retired Groff Maintainers, but Dave Kemper and I are having a disagreement ranging over multiple entangled Savannah tickets[1] and it's clear that each of us are guessing at your intentions for GNU troff's "character classes" feature and reaching different conclusions.
Roughly, my position is that a character class is meant to be a thin
container that has no notable properties of its own beyond a name, a
vector of code point ranges, and a vector of nested classes.
I won't attempt to completely characterize Dave's position, but it
differs. I think it's fair to say that he envisions classes as having
additional properties compared to my view.
I think he and I agree that what we see in "ja.tmac"...
.\" Hiragana, Katakana, and Kanji glyphs.
.class [CJKnormal] \
\[u3041]-\[u3096] \[u30A0]-\[u30FF] \[u4E00]-\[u9FFF]
.\" snip
.cflags 512 \C'[CJKnormal]'
...is idiomatic. The `class` request is there to keep us from having to
issue thousands of `cflags` requests, one for each code point in the
ranges shown.
But now consider this hypothetical alternative:
.\" Hiragana, Katakana, and Kanji glyphs.
.cflags 256 \[u3041]
.class [CJKnormal] \
\[u3041]-\[u3096] \[u30A0]-\[u30FF] \[u4E00]-\[u9FFF]
.\" snip
.cflags 512 \C'[CJKnormal]'
What should the character flags on `[u3041]` now be?
Dave's model (as I understand it) says 768.
Mine says 512.
Who's right? Neither of us?
Regards,
Branden
[1] The original apple of discord likely lies in this commit, where I
did a crazy thing and exposed more formatter internal data to
inspection.
https://cgit.git.savannah.gnu.org/cgit/groff.git/commit/?id=d84dd6ddc7b14fe2d79d1e4542b294e2fbcfa065
If one has lots of popcorn and questionable taste in entertainment,
here's the full background. One can also watch me changing my mind
faster than Trump's tariff policy as I subject the groff in my
working copy to bizarre surgical experiments.
https://savannah.gnu.org/bugs/?67570
https://savannah.gnu.org/bugs/?67571
https://savannah.gnu.org/bugs/?67617
https://savannah.gnu.org/bugs/?67703
https://savannah.gnu.org/bugs/?67711
signature.asc
Description: PGP signature
