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

Attachment: signature.asc
Description: PGP signature

Reply via email to