Need background on design of groff character classes

"G. Branden Robinson" <[email protected]>
Newsgroups gmane.comp.printing.groff.general
Message-ID <20251117223359.wjw7tpshtcueipdi@illithid>
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 (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEh3PWHWjjDgcrENwa0Z6cfXEmbc4FAmkbotAACgkQ0Z6cfXEm
bc5gdhAApvcwb6oYSI/23e/uCsnA/+TMQJLUnhCMkYnT4//EbfoHOeK7akyh6NWC
eULVf4V+4KJqbLg79Dy+uh4preyqv89GXrwRJBL7OXOC3IbI+9fcra8ypi3deGtI
LGr1hoc7aaId0IE7EZMabBvra7QhDRtchEhiURFgSie7YV7qVJAvGmSrG8ftdjoJ
QssTmokKEws1NsH82fScuvsvJhydc14Ydb76uxwR44BtGQiVdB8uV0S7olfio5NE
quDTAfsHRkjbEL6hzLKOB0pQiijmPOM92CyZVkhxq8NTjb4JQQ/tLH973/MAPIZp
Stk8MESaC8F3CkFUy63QEYw4Dt02oSIbossk6kipgh3V2iq2mrSvidplsx1VNpUW
HvJPAiKem7TNITK5nICi9r2Z2ZiaHiyzBg/pirD3hwXI2Y0ifjZIxRcKFHKADk+l
YWlgsFOwtchqZBcgI7/nMpzaudJfsXs/1/AiVy4gshUjaaSdJPA0YEmB3xskIgds
E3E/oc4rB2Q/b6UKjmrPgy4J+DEtLOG1gljwIHa9Udi/T2+K2To/1J6H6ZA4tDc0
4Yc6cgTwAEpIf29qXjrfXWLM6d52lypJmVBIEkqmUUhmn2tOh281D6OTKvPeasU0
SbEnhDmaw60GcmKqCWPSCPo0UZDAIyo40o3jsRNm0CKS0ewHsLM=
=Yfm8
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.