Hello All,

Just my two cents here.

CDE pre-configures font and locale-specific settings for Motif
applications (dtterm included) not only via the standard LC_*
environment variables (particularly, LC_CTYPE for non-ASCII input), but
also via Motif-specific X resources.

Motif itself (as of version 2.2, if I'm not mistaken) supports not only
server-side /Core X fonts/ (Xm_FONT_IS_FONT and Xm_FONT_IS_FONTSET), but
also client-side fonts (Xm_FONT_IS_FONT via libXft, just like other
modern GUI toolkits).

The problem is, CDE 2.0 was released long before the 2.2 release of
Motif, so it's only aware of the (older) server side fonts.

Basically, when CDE is installed, it generates /Core X font aliases/
(-dt-application-* and -dt-system-*) for various locales it supports.
Later on, when a user chooses the locale (in DtLogin prompt), CDE just
sets Motif-specific X resources (via xrdb) and adds the locale-specific
aliases to the /X font path/ of the running X11 server (for example, for
ru_RU.KOI8-R locale, these aliases might look like
-dt-application-*-koi8-r and -dt-system-*-koi8-r; for en_US.UTF-8 and
ru_RU.UTF-8 -- -dt-*-iso10646-1, and so on).

If the user wants a bigger or a smaller font, they can select those via
DtStyle.

If the user wants a different font face (e. g.: -*-times-* instead of
-adobe-helvetica-*), this can no longer be configured via DtStyle, but
rather X font aliases need to be rewritten (either globally or on a
per-user basis).

So the first problem I see here is that, while CDE in commercial Unices
supported a wide range of locales, the open-source version ships only
with 4 locales (en_US, de_DE, fr_FR and es_ES, all of them using
ISO-8859-1 rather than UTF-8). Correct me if I'm wrong -- I haven't been
following the UTF-8 conversion during the last couple of years. Having
said the above, the 1st thing required in order for various ru_RU.*
locales to be fully supported are the corresponding *X font aliases*.

This has nothing to do with L10N -- but in order to localize CDE, font
aliases need to exist first. Then we can take a look at commercial
Unices -- at least, CDE 1.x in Solaris had excellent Russian translation.

Yet another problem with server-side X fonts is that modern Linux
distributions have stopped shipping XFS, the X Font Server, and whenever
a user installs additional TrueType fonts, those no longer get added to
the X font path. So if one wants to use, e.g., Monotype fonts in CDE
(Courier New, Arial, Tahoma, etc.), the font path needs to be set
manually, and font aliases re-generated (again, manually, as described
above).

Thus, the 2nd problem is that the UI of DtStyle is very limited, and
needs to be enhanced. And, unlike GTK+ and Qt, Motif still doesn't have
any font chooser widget.

And there's also an approach mentioned by Vladimir Nikishkin --
client-side fonts:

> *renderTable: rt
> *rt*fontType: FONT_IS_XFT
> *rt*fontName: Micro Hei
> *rt*fontSize: 10

Unfortunately, this requires Motif 2.2+ (does CDE still support Motif
2.1.30?) and is currently completely orthogonal to whatever CDE offers
in terms of font selection (meaning that X resources need to be set
manually an on a per widget class basis -- no-one would want to see
proportional fonts in DtTerm and vice versa -- fixed-width fonts on
buttons and labels).

I would summarize that CDE can be relatively easily "hacked" to support
non-ASCII locales, but plenty of manpower is required in order to
provide the complete solution.

Regards,
Andrey.


On 05.12.2019 12:01, Marcin Cieslak wrote:
> On Thu, 5 Dec 2019, Vladimir Nikishkin wrote:
> 
>> Which distribution are you using? ALTlinux?
>>
>> I may try to submit a package with MicroHei for it.
>>
> 
> I am using FreeBSD. I have tried ru_RU.UTF-8, ru_RU.ISO8859-5 and
> ru_RU.KOI8-R locales
> and none of them work.
> 
> For the 8-bit ones the characters do not appear.
> 
> For ru_RU.UTF-8 things are broken as attached - I think this is not only
> font selection/motif
> issue, but also dtterm has problems with it.
> 
> There is an rxvt unicode window as a comparison, I have also tried to
> change
> the workspace name.
> 
> Marcin

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Reply via email to