[kde-russian] Re: mc in qt
Leon Kanter
=?iso-8859-1?q?leon_=CE=C1_blackcatlinux=2Ecom?=
Чт Окт 24 15:52:53 MSD 2002
Nikita V. Youshchenko wrote:
>Видимо, проблема такая.
>Некоторые iso8859 шрифты имеют символы-рамочки в диапазоне 0x8-0x1F,
>
Вот их и надо использовать
>некоторые не имеют. Некоторые koi шрифты имеют эти символы в диапазоне
>0x8-0x1F,
>
>некоторые - в диапазоне 0x80-0x97
>
а вот эти использовать нельзя
>, а некоторые вовсе не имеют.
>В xfd все это прекрасно видно.
>Похоже, раньше в Qt стояло, что символы есть в диапозоне 0x8-0x1f, но потом
>господам из trolltech надоело, что в зависимости от конкретного шрифта
>рамочки то есть, то нет. И они решили, что пусть все либо используют
>юникод (с которым все работает), либо сидят без рамочек.
>
>Кажется, стандарте koi8 символы вроде как обязаны находится в диапазоне
>0x80-0x97 (я не уверен, но по крайней мере freetype их туда помещает).
>Но, скажем, в шрифтах cronyx нет их там ...
>
А что делать тем, у кого cp1251 или iso8859-5? псевдографика 0x8-0x1f -
это стандарт, который поддерживается практически во всех шрифтах misc-fixed.
>------------------------------------------------------------------------
>
>diff -ur qt-x11-free-3.0.5.orig/src/kernel/qfont_x11.cpp qt-x11-free-3.0.5/src/kernel/qfont_x11.cpp
>--- qt-x11-free-3.0.5.orig/src/kernel/qfont_x11.cpp Mon Jul 8 14:27:02 2002
>+++ qt-x11-free-3.0.5/src/kernel/qfont_x11.cpp Wed Oct 23 13:49:39 2002
>@@ -108,6 +108,8 @@
> static const char * const latinA14_encodings[] = { "iso8859-14", 0 };
> static const char * const latinA15_encodings[] = { "iso8859-15", 0 };
>
>+static const char * const geometric_encodings[] = { "koi8-r", 0 };
>+
> // we select on of these at initialization time for Han use
> static const char * const hancn_encodings[] =
> { "gb18030-0", /*"gb18030.2000-1",*/ "gb18030.2000-0", "gbk-0", "gb2312.1980-0", "big5*-*", "jisx0208.1983-0", "ksc5601.1987-0", 0 };
>@@ -215,7 +217,7 @@
> // TechnicalSymbols
> { 0, empty_encodings },
> // GeometricSymbols
>- { 0, empty_encodings },
>+ { 0, geometric_encodings },
> // MiscellaneousSymbols
> { 0, empty_encodings },
> // EnclosedAndSquare
>@@ -2280,7 +2282,7 @@
> case QFont::NumberForms: row = 0x21; cell = 0x5b; break;
> case QFont::MathematicalOperators: row = 0x22; cell = 0x2b; break;
> case QFont::TechnicalSymbols: row = 0x24; cell = 0x40; break;
>- case QFont::GeometricSymbols: row = 0x25; cell = 0xa1; break;
>+ case QFont::GeometricSymbols: row = 0x25; cell = 0x02; break;
> case QFont::MiscellaneousSymbols: row = 0x26; cell = 0x00; break;
> case QFont::EnclosedAndSquare: row = 0x24; cell = 0x60; break;
> case QFont::Braille: row = 0x28; cell = 0x00; break;
>
>
Подробная информация о списке рассылки kde-russian