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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ cdesktopenv-devel mailing list cdesktopenv-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel