Comments wanted: AGL, Unicode, T1 vs. CE/Baltic

Hilmar Schlegel schlegel@vossnet.de
Tue, 5 Sep 2000 06:01:44 -0400


--Boundary..26744.1040602426.multipart/mixed
Content-Type: text/plain
Content-Transfer-Encoding: 7bit



Lars Hellström wrote:
> 
> At 23.38 +0200 2000-09-03, Hilmar Schlegel wrote:
> [snip]
> >There is no such character like Tcedilla! As was kindly corrected in AGL
> >1.2 we have only to deal with Tcommaaccent/Scommaaccent which went after
> >a few corrective moves into their final Unicode positions (hopefully
> >;-). It is just like that amacron is not atilde.
> >Even given the case a font provides Tcedilla and not Tcommaaccent, then
> >the character is usually wrong. This applies usually to Monotype/M$
> >fonts. One the other hand side Linotype fonts are OK. Also the new
> >Adobe-Pro aka OpenType fonts are OK. It is much better to construct a T
> >with a comma below for the purpose.
> >For the same reason there is no g, k, l, n, r cedilla.
> >The real problem case for LaTex is Scedilla vs. Scommaaccent since they
> >are *both* necessary and to be used for their respective languages.
> >LaTex defines for T1 encoding on one hand side the wrong Tcedilla slot
> >which must be filled by Tcommaaccent instead and on the other only a
> >single slot for Scedilla but not for Scommaaccent (without this you
> >could drop also the Tcommaaccent). There was a fix for Unicode and AGL
> >meanwhile but there is no real fix for LaTex T1 encoding!
> 
> Fixing all of that is one of the major TODOs for latin.mtx (and
> corresponding ETXs). 

The really bad thing is that I do not see how to fix the clash of two
characters for one slot (actually 4 characters in two slots because of
uc/lc).
one could
- remove T/t-commaaccent and use the slot(s) for something else (e.g.
the Turkish lowercase Idotaccent = dotlessidot, Turkish uppercase
dotlessi = Dotlessi, which would be necessary to make hyphenation
patterns happy)
- make room at another slot for S/s-cedilla: e.g. remove Y/y-diearesis
(the problem would be again that the affected hyphenation patterns---if
there are any---would have to learn about the new/alternative position)
- introduce a slot for commaaccent to support at least the construction
of Baltic characters;
  if this accent is not available I see no alternative to making
S/s-cedilla a "constructed-only" character, i.e. remove it from
T1-encoding and access it always via a Tex accent primitive.
Then there would be a compromize possible: all C/consonant-commaaccent
characters are accessed via a ligature C/consonant+ogonek. This would
work with standard T1-encoding and T/S-commaaccent and as well with an
adopted Baltic variant (e.g. Turkish characters replaced by g, k, l, n,
r-commaaccent, Baltic hyphenation patterns should know about this).
There are only V/vowel-ogonek combinations in existance which require
the bonafide ogonek accent.
The advantage of this approach would be to cope consistently with all
the commaaccent characters *without* the introduction of a new accent in
the Tex/Latex scheme and asuring a high degree of compatibility on the
markup-level.

> I suppose a commaaccent can be faked by shrinking the
> comma, 

The optimal candidate is commasuperior (or commainferior for that
matter) as long as these are available from one or another expert font.

> and the reverse comma accent (for gcomma) can perhaps be faked by
> shrinking quoteleft. 

I think it would be even tolerableto work with the original size of
comma/quoteleft here: this is in any case much better than the wrong
characters.
For fonts with prime-shaped commas (in contrast to the curved 9-shaped
variant) this simple approach would be not correct, however. Here are
more sophisticated constructions to be introduced.

> Changing things in the ETXs may probably need some
> care (and coordination with e.g. the LaTeX project), 

Seems difficult to get someone interested in this - it is a bit delicate
to get old mistakes fixed which require principal changes... ;-)
(Perhaps CE and Baltic typesetting needs are considered a bit off-focus)

> but latin.mtx should
> at least produce all possible latin glyphs.
> 
> I doubt I will do those fixes, though. Any volunteers?

Below is a summary of a basic variant to provide what is necessary...

Have fun!

Hilmar Schlegel

--Boundary..26744.1040602426.multipart/mixed
Content-Type: application/octet-stream; name="tex00000.tex"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="tex00000.tex"
Content-Description: "commaa.tex"

JSBzZXQgdXAgdGhlIG1pc3NpbmcgYWNjZW50cwolIGJhc2ljIHZhcmlhbnQg
Zm9yIHN0YW5kYXJkIGZvbnRzIHdpdGhvdXQgdGhlIGJvbmFmaWRlIGRlc2ln
biBvZiBjb21tYWFjY2VudCBhdmFpbGFibGUKClxpZmlzZ2x5cGh7Y29tbWFp
bmZlcmlvcn1cdGhlbgogXHNldGdseXBoe2NvbW1hYWNjZW50c21hbGx9CiAg
IFxtb3ZldXB7XG5lZ3tcYWRke1xzY2FsZXtcZGVwdGh7Y29tbWF9fXs1MDB9
fXtcaGVpZ2h0e2NvbW1haW5mZXJpb3J9fX19CiAgIFxnbHlwaHtjb21tYWlu
ZmVyaW9yfXsxMDAwfQogICBcbW92ZXVwe1xhZGR7XHNjYWxle1xkZXB0aHtj
b21tYX19ezUwMH19e1xoZWlnaHR7Y29tbWFpbmZlcmlvcn19fQogICBccmVz
ZXRpdGFsaWN7MH0KIFxlbmRzZXRnbHlwaAoKIFxzZXRnbHlwaHtjb21tYWFj
Y2VudH0KICAgXG1vdmV1cHtcbmVne1xhZGR7XHNjYWxle1xkZXB0aHtjb21t
YX19ezUwMH19e1xoZWlnaHR7Y29tbWFpbmZlcmlvcn19fX0KICAgXGdseXBo
e2NvbW1haW5mZXJpb3J9ezEwMDB9CiAgIFxtb3ZldXB7XGFkZHtcc2NhbGV7
XGRlcHRoe2NvbW1hfX17NTAwfX17XGhlaWdodHtjb21tYWluZmVyaW9yfX19
CiAgIFxyZXNldGl0YWxpY3swfQogXGVuZHNldGdseXBoClxmaQoKXGlmaXNn
bHlwaHtjb21tYXN1cGVyaW9yfVx0aGVuCiBcc2V0Z2x5cGh7Y29tbWFhY2Nl
bnRzbWFsbH0KICAgXG1vdmV1cHtcbmVne1xhZGR7XHNjYWxle1xkZXB0aHtj
b21tYX19ezUwMH19e1xoZWlnaHR7Y29tbWFzdXBlcmlvcn19fX0KICAgXGds
eXBoe2NvbW1hc3VwZXJpb3J9ezEwMDB9CiAgIFxtb3ZldXB7XGFkZHtcc2Nh
bGV7XGRlcHRoe2NvbW1hfX17NTAwfX17XGhlaWdodHtjb21tYXN1cGVyaW9y
fX19CiAgIFxyZXNldGl0YWxpY3swfQogXGVuZHNldGdseXBoCgogXHNldGds
eXBoe2NvbW1hYWNjZW50fQogICBcbW92ZXVwe1xuZWd7XGFkZHtcc2NhbGV7
XGRlcHRoe2NvbW1hfX17NTAwfX17XGhlaWdodHtjb21tYXN1cGVyaW9yfX19
fQogICBcZ2x5cGh7Y29tbWFzdXBlcmlvcn17MTAwMH0KICAgXG1vdmV1cHtc
YWRke1xzY2FsZXtcZGVwdGh7Y29tbWF9fXs1MDB9fXtcaGVpZ2h0e2NvbW1h
c3VwZXJpb3J9fX0KICAgXHJlc2V0aXRhbGljezB9CiBcZW5kc2V0Z2x5cGgK
XGZpCgpcc2V0Z2x5cGh7Y29tbWFhY2NlbnR9CiAgIFxtb3ZlcnR7XG5lZ3tc
c2NhbGV7XGhlaWdodHtxdW90ZXJpZ2h0fX17XGludHtpdGFsaWNzbGFudH19
fX0KICAgXG1vdmV1cHtcbmVne1xhZGR7XHNjYWxle1xkZXB0aHtjb21tYX19
ezUwMH19e1xoZWlnaHR7cXVvdGVyaWdodH19fX0KICAgXGdseXBoe3F1b3Rl
cmlnaHR9ezEwMDB9CiAgIFxtb3ZlcnR7XHNjYWxle1xoZWlnaHR7cXVvdGVy
aWdodH19e1xpbnR7aXRhbGljc2xhbnR9fX0KICAgXG1vdmV1cHtcYWRke1xz
Y2FsZXtcZGVwdGh7Y29tbWF9fXs1MDB9fXtcaGVpZ2h0e3F1b3RlcmlnaHR9
fX0KICAgXHJlc2V0aXRhbGljezB9ClxlbmRzZXRnbHlwaAoKJSB1cHBlciBj
YXNlCgpcc2V0Z2x5cGh7R2NvbW1hYWNjZW50fQogICBcYm90YWNjZW50e0d9
e2NvbW1hYWNjZW50fXs1MDB9ClxlbmRzZXRnbHlwaAoKXHNldGdseXBoe0tj
b21tYWFjY2VudH0KICAgXGJvdGFjY2VudHtLfXtjb21tYWFjY2VudH17NTAw
fQpcZW5kc2V0Z2x5cGgKClxzZXRnbHlwaHtMY29tbWFhY2NlbnR9CiAgIFxi
b3RhY2NlbnR7TH17Y29tbWFhY2NlbnR9ezUwMH0KXGVuZHNldGdseXBoCgpc
c2V0Z2x5cGh7TmNvbW1hYWNjZW50fQogICBcYm90YWNjZW50e059e2NvbW1h
YWNjZW50fXs1MDB9ClxlbmRzZXRnbHlwaAoKXHNldGdseXBoe1Jjb21tYWFj
Y2VudH0KICAgXGJvdGFjY2VudHtSfXtjb21tYWFjY2VudH17NTAwfQpcZW5k
c2V0Z2x5cGgKClxzZXRnbHlwaHtTY29tbWFhY2NlbnR9CiAgIFxib3RhY2Nl
bnR7U317Y29tbWFhY2NlbnR9ezUwMH0KXGVuZHNldGdseXBoCgpcc2V0Z2x5
cGh7VGNvbW1hYWNjZW50fQogICBcYm90YWNjZW50e1R9e2NvbW1hYWNjZW50
fXs1MDB9ClxlbmRzZXRnbHlwaAoKJSBsb3dlciBjYXNlCgpcc2V0Z2x5cGh7
Z2NvbW1hYWNjZW50fQogICBccHVzaAogICAgIFxtb3ZldXB7XHN1YntcYWRk
e1xoZWlnaHR7Z319e1xkZXB0aHtxdW90ZWxlZnR9fX0KICAgICAgICAgICAg
ICAgICB7XHNjYWxle1xoZWlnaHR7cGVyaW9kfX17LTUwMH19fQogICAgIFxt
b3ZlcnR7XGFkZHtcc3Vie1xzY2FsZXtcd2lkdGh7Z319ezUwMH19e1xzY2Fs
ZXtcd2lkdGh7cXVvdGVsZWZ0fX17NTAwfX19CiAgICAgICAgICAgICAgICAg
e1xzY2FsZXtcc3Vie1xhZGR7XGhlaWdodHtnfX17XGRlcHRoe3F1b3RlbGVm
dH19fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcc2NhbGV7XGhl
aWdodHtwZXJpb2R9fXstNTAwfX19CiAgICAgICAgICAgICAgICAgICAgICAg
IHtcaW50e2l0YWxpY3NsYW50fX19fQogICAgIFxnbHlwaHtxdW90ZWxlZnR9
ezEwMDB9CiAgIFxwb3AKICAgXGdseXBoe2d9ezEwMDB9ClxlbmRzZXRnbHlw
aAoKJSBzaW1wbGVyIGFsdGVybmF0aXZlIAoKXHNldGdseXBoe2djb21tYWFj
Y2VudH0KICAgXHRvcGFjY2VudHtnfXtxdW90ZWxlZnR9ezUwMH0KXGVuZHNl
dGdseXBoCgpcc2V0Z2x5cGh7a2NvbW1hYWNjZW50fQogICBcYm90YWNjZW50
e2t9e2NvbW1hYWNjZW50fXs1MDB9ClxlbmRzZXRnbHlwaAoKXHNldGdseXBo
e2xjb21tYWFjY2VudH0KICAgXGJvdGFjY2VudHtsfXtjb21tYWFjY2VudH17
NTAwfQpcZW5kc2V0Z2x5cGgKClxzZXRnbHlwaHtuY29tbWFhY2NlbnR9CiAg
IFxib3RhY2NlbnR7bn17Y29tbWFhY2NlbnR9ezUwMH0KXGVuZHNldGdseXBo
Cgpcc2V0Z2x5cGh7cmNvbW1hYWNjZW50fQogICBcYm90YWNjZW50e3J9e2Nv
bW1hYWNjZW50fXs1MDB9ClxlbmRzZXRnbHlwaAoKXHNldGdseXBoe3Njb21t
YWFjY2VudH0KICAgXGJvdGFjY2VudHtzfXtjb21tYWFjY2VudH17NTAwfQpc
ZW5kc2V0Z2x5cGgKClxzZXRnbHlwaHt0Y29tbWFhY2NlbnR9CiAgIFxib3Rh
Y2NlbnR7dH17Y29tbWFhY2NlbnR9ezUwMH0KXGVuZHNldGdseXBoCgolIHNt
YWxsIGNhcHMKClxzZXRnbHlwaHtHY29tbWFhY2NlbnRzbWFsbH0KICAgXGNz
Y2JvdGFjY2VudHtHfXtjb21tYWFjY2VudH17NTAwfQpcZW5kc2V0Z2x5cGgK
ClxzZXRnbHlwaHtLY29tbWFhY2NlbnRzbWFsbH0KICAgXGNzY2JvdGFjY2Vu
dHtLfXtjb21tYWFjY2VudH17NTAwfQpcZW5kc2V0Z2x5cGgKClxzZXRnbHlw
aHtMY29tbWFhY2NlbnRzbWFsbH0KICAgXGNzY2JvdGFjY2VudHtMfXtjb21t
YWFjY2VudH17NTAwfQpcZW5kc2V0Z2x5cGgKClxzZXRnbHlwaHtOY29tbWFh
Y2NlbnRzbWFsbH0KICAgXGNzY2JvdGFjY2VudHtOfXtjb21tYWFjY2VudH17
NTAwfQpcZW5kc2V0Z2x5cGgKClxzZXRnbHlwaHtSY29tbWFhY2NlbnRzbWFs
bH0KICAgXGNzY2JvdGFjY2VudHtSfXtjb21tYWFjY2VudH17NTAwfQpcZW5k
c2V0Z2x5cGgKClxzZXRnbHlwaHtTY29tbWFhY2NlbnRzbWFsbH0KICAgXGNz
Y2JvdGFjY2VudHtTfXtjb21tYWFjY2VudH17NTAwfQpcZW5kc2V0Z2x5cGgK
CiUga2VybmluZwpcc2V0bGVmdHJpZ2h0a2VybmluZ3tHY29tbWFhY2NlbnR9
e0d9ezEwMDB9ClxzZXRsZWZ0cmlnaHRrZXJuaW5ne0tjb21tYWFjY2VudH17
S317MTAwMH0KXHNldGxlZnRyaWdodGtlcm5pbmd7TGNvbW1hYWNjZW50fXtM
fXsxMDAwfQpcc2V0bGVmdHJpZ2h0a2VybmluZ3tOY29tbWFhY2NlbnR9e059
ezEwMDB9ClxzZXRsZWZ0cmlnaHRrZXJuaW5ne1Jjb21tYWFjY2VudH17Un17
MTAwMH0KXHNldGxlZnRyaWdodGtlcm5pbmd7U2NvbW1hYWNjZW50fXtTfXsx
MDAwfQpcc2V0bGVmdHJpZ2h0a2VybmluZ3tUY29tbWFhY2NlbnR9e1R9ezEw
MDB9CiUgXHNldGxlZnRyaWdodGtlcm5pbmd7Z2NvbW1hYWNjZW50fXtnfXsx
MDAwfSAlIHN0cmljdGx5IHRydWUgb25seSBmb3Iga2VybnMgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIHdpdGgg
InNtYWxsIiBjaGFyYWN0ZXJzICh3aXRob3V0IGFzY2VuZGVycykKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgVGcs
IFZnLCBXZyBzaG91bGQgYmUgcmVzZXQgKG5vdCBsaWtlbHkgYW55d2F5KQpc
c2V0bGVmdHJpZ2h0a2VybmluZ3trY29tbWFhY2NlbnR9e2t9ezEwMDB9Clxz
ZXRsZWZ0cmlnaHRrZXJuaW5ne2xjb21tYWFjY2VudH17bH17MTAwMH0KXHNl
dGxlZnRyaWdodGtlcm5pbmd7bmNvbW1hYWNjZW50fXtufXsxMDAwfQpcc2V0
bGVmdHJpZ2h0a2VybmluZ3tyY29tbWFhY2NlbnR9e3J9ezEwMDB9ClxzZXRs
ZWZ0cmlnaHRrZXJuaW5ne3Njb21tYWFjY2VudH17c317MTAwMH0KXHNldGxl
ZnRyaWdodGtlcm5pbmd7dGNvbW1hYWNjZW50fXt0fXsxMDAwfQoKXHNldGxl
ZnRyaWdodGtlcm5pbmd7R2NvbW1hYWNjZW50c21hbGx9e0dzbWFsbH17MTAw
MH0KXHNldGxlZnRyaWdodGtlcm5pbmd7S2NvbW1hYWNjZW50c21hbGx9e0tz
bWFsbH17MTAwMH0KXHNldGxlZnRyaWdodGtlcm5pbmd7TGNvbW1hYWNjZW50
c21hbGx9e0xzbWFsbH17MTAwMH0KXHNldGxlZnRyaWdodGtlcm5pbmd7TmNv
bW1hYWNjZW50c21hbGx9e05zbWFsbH17MTAwMH0KXHNldGxlZnRyaWdodGtl
cm5pbmd7UmNvbW1hYWNjZW50c21hbGx9e1JzbWFsbH17MTAwMH0KXHNldGxl
ZnRyaWdodGtlcm5pbmd7U2NvbW1hYWNjZW50c21hbGx9e1NzbWFsbH17MTAw
MH0KXHNldGxlZnRyaWdodGtlcm5pbmd7VGNvbW1hYWNjZW50c21hbGx9e1Rz
bWFsbH17MTAwMH0KCgo=
--Boundary..26744.1040602426.multipart/mixed--