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-----