* [kde-russian] Re: mc in qt
@ 2002-10-24 7:40 ` Nikita V. Youshchenko
2002-10-24 9:37 ` А.Л. Клютченя
2002-10-24 11:52 ` Leon Kanter
0 siblings, 2 replies; 7+ messages in thread
From: Nikita V. Youshchenko @ 2002-10-24 7:40 UTC (permalink / raw)
To: Albert R. Valiev; +Cc: kde-russian
[-- Attachment #1: Type: text/plain, Size: 1105 bytes --]
> Привет!
>
> Никита, а можно попродробнее об исправлении? чего-то я не въехал....
> если можно, патчик :))))
Да это грязный хак, а не исправление. В аттачменте.
Просто кормить X терминалы базе на санов с процами по 40 МГц юникодными
шрифтами - это смерть. А с этой штукой пользователи хотя бы рамочки в mc
видят, если установят шрифт -monotype-courier new-...
Видимо, проблема такая.
Некоторые iso8859 шрифты имеют символы-рамочки в диапазоне 0x8-0x1F,
некоторые не имеют. Некоторые koi шрифты имеют эти символы в диапазоне
0x8-0x1F, некоторые - в диапазоне 0x80-0x97, а некоторые вовсе не имеют.
В xfd все это прекрасно видно.
Похоже, раньше в Qt стояло, что символы есть в диапозоне 0x8-0x1f, но потом
господам из trolltech надоело, что в зависимости от конкретного шрифта
рамочки то есть, то нет. И они решили, что пусть все либо используют
юникод (с которым все работает), либо сидят без рамочек.
Кажется, стандарте koi8 символы вроде как обязаны находится в диапазоне
0x80-0x97 (я не уверен, но по крайней мере freetype их туда помещает).
Но, скажем, в шрифтах cronyx нет их там ...
[-- Attachment #2: qt-patch-geom-chars --]
[-- Type: text/x-diff, Size: 1601 bytes --]
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;
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [kde-russian] Re: mc in qt
2002-10-24 7:40 ` [kde-russian] Re: mc in qt Nikita V. Youshchenko
@ 2002-10-24 9:37 ` А.Л. Клютченя
2002-10-24 10:52 ` Nikita V. Youshchenko
2002-10-24 11:54 ` Leon Kanter
2002-10-24 11:52 ` Leon Kanter
1 sibling, 2 replies; 7+ messages in thread
From: А.Л. Клютченя @ 2002-10-24 9:37 UTC (permalink / raw)
To: kde-russian
24 Октябрь 2002 11:40, Nikita V. Youshchenko написал:
> > Привет!
> >
> > Никита, а можно попродробнее об исправлении? чего-то я не
> > въехал.... если можно, патчик :))))
>
> Да это грязный хак, а не исправление. В аттачменте.
> Просто кормить X терминалы базе на санов с процами по 40 МГц
> юникодными шрифтами - это смерть. А с этой штукой пользователи
> хотя бы рамочки в mc видят, если установят шрифт
> -monotype-courier new-...
>
> Видимо, проблема такая.
> Некоторые iso8859 шрифты имеют символы-рамочки в диапазоне
> 0x8-0x1F, некоторые не имеют. Некоторые koi шрифты имеют эти
> символы в диапазоне 0x8-0x1F, некоторые - в диапазоне
> 0x80-0x97, а некоторые вовсе не имеют. В xfd все это прекрасно
> видно.
> Похоже, раньше в Qt стояло, что символы есть в диапозоне
> 0x8-0x1f, но потом господам из trolltech надоело, что в
> зависимости от конкретного шрифта рамочки то есть, то нет. И
> они решили, что пусть все либо используют юникод (с которым
> все работает), либо сидят без рамочек.
>
> Кажется, стандарте koi8 символы вроде как обязаны находится в
> диапазоне 0x80-0x97 (я не уверен, но по крайней мере freetype
> их туда помещает). Но, скажем, в шрифтах cronyx нет их там ...
Да вроде как в РХ патчах к Qt это решено без "грязного", да и
тролли тут сбоку стояли: xfs2 и xft2 - вот кто всё "решил"...
--
ВсехБлаг! А. Л. Клютченя
mail: asoneofus@kde.ru
www: http://www.asoneofus.nm.ru
icq: 113679387
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [kde-russian] Re: mc in qt
2002-10-24 9:37 ` А.Л. Клютченя
@ 2002-10-24 10:52 ` Nikita V. Youshchenko
2002-10-24 11:47 ` А.Л. Клютченя
2002-10-24 11:54 ` Leon Kanter
1 sibling, 1 reply; 7+ messages in thread
From: Nikita V. Youshchenko @ 2002-10-24 10:52 UTC (permalink / raw)
To: kde-russian
> 24 Октябрь 2002 11:40, Nikita V. Youshchenko написал:
>> > Привет!
>> >
>> > Никита, а можно попродробнее об исправлении? чего-то я не
>> > въехал.... если можно, патчик :))))
>>
>> Да это грязный хак, а не исправление. В аттачменте.
>> Просто кормить X терминалы базе на санов с процами по 40 МГц
>> юникодными шрифтами - это смерть. А с этой штукой пользователи
>> хотя бы рамочки в mc видят, если установят шрифт
>> -monotype-courier new-...
>>
>> Видимо, проблема такая.
>> Некоторые iso8859 шрифты имеют символы-рамочки в диапазоне
>> 0x8-0x1F, некоторые не имеют. Некоторые koi шрифты имеют эти
>> символы в диапазоне 0x8-0x1F, некоторые - в диапазоне
>> 0x80-0x97, а некоторые вовсе не имеют. В xfd все это прекрасно
>> видно.
>> Похоже, раньше в Qt стояло, что символы есть в диапозоне
>> 0x8-0x1f, но потом господам из trolltech надоело, что в
>> зависимости от конкретного шрифта рамочки то есть, то нет. И
>> они решили, что пусть все либо используют юникод (с которым
>> все работает), либо сидят без рамочек.
>>
>> Кажется, стандарте koi8 символы вроде как обязаны находится в
>> диапазоне 0x80-0x97 (я не уверен, но по крайней мере freetype
>> их туда помещает). Но, скажем, в шрифтах cronyx нет их там ...
>
>
> Да вроде как в РХ патчах к Qt это решено без "грязного", да и
> тролли тут сбоку стояли: xfs2 и xft2 - вот кто всё "решил"...
А можно ссылочку на то, КАК они это решили?
Исходники читать порядком надоело, а сорокамегагерцовые терминалы в
обозримом будущем никто здесь выбрасывать не собирается, следовательно я
должен заставить их работать...
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [kde-russian] Re: mc in qt
2002-10-24 10:52 ` Nikita V. Youshchenko
@ 2002-10-24 11:47 ` А.Л. Клютченя
0 siblings, 0 replies; 7+ messages in thread
From: А.Л. Клютченя @ 2002-10-24 11:47 UTC (permalink / raw)
To: kde-russian
24 Октябрь 2002 14:52, Nikita V. Youshchenko написал:
> А можно ссылочку на то, КАК они это решили?
> Исходники читать порядком надоело, а сорокамегагерцовые
> терминалы в обозримом будущем никто здесь выбрасывать не
> собирается, следовательно я должен заставить их работать...
Ну... Сборка (только спек подправить на предмет styleplugins 0)
http://qt.kde.ru/kde/null/SRPMS/qt-x11-3.1.0-0.beta1.null2.src.rpm
Если через рассылку пройдут патчи и спек, то могу пробросить :-)
http://fontconfig.org/, подробности, наверное, Леонид может
только рассказать... :-)
--
ВсехБлаг! А. Л. Клютченя
mail: asoneofus@kde.ru
www: http://www.asoneofus.nm.ru
icq: 113679387
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [kde-russian] Re: mc in qt
2002-10-24 7:40 ` [kde-russian] Re: mc in qt Nikita V. Youshchenko
2002-10-24 9:37 ` А.Л. Клютченя
@ 2002-10-24 11:52 ` Leon Kanter
1 sibling, 0 replies; 7+ messages in thread
From: Leon Kanter @ 2002-10-24 11:52 UTC (permalink / raw)
To: kde-russian
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;
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [kde-russian] Re: mc in qt
2002-10-24 9:37 ` А.Л. Клютченя
2002-10-24 10:52 ` Nikita V. Youshchenko
@ 2002-10-24 11:54 ` Leon Kanter
2002-10-25 6:21 ` Nikita V. Youshchenko
1 sibling, 1 reply; 7+ messages in thread
From: Leon Kanter @ 2002-10-24 11:54 UTC (permalink / raw)
To: kde-russian
А.Л. Клютченя wrote:
> Да вроде как в РХ патчах к Qt это решено без "грязного", да и
>тролли тут сбоку стояли: xfs2 и xft2 - вот кто всё "решил"...
>
>
>
А если собирать обновление для 7.х без xfs2/xft2 и не использовать
ru_RU.UTF-8 - все глючит. Так нельзя, надо чинить qt и восстанавливать
то, что было в 3.0.4 и работало.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [kde-russian] Re: mc in qt
2002-10-24 11:54 ` Leon Kanter
@ 2002-10-25 6:21 ` Nikita V. Youshchenko
0 siblings, 0 replies; 7+ messages in thread
From: Nikita V. Youshchenko @ 2002-10-25 6:21 UTC (permalink / raw)
To: kde-russian
> А.Л. Клютченя wrote:
>
>>Да вроде как в РХ патчах к Qt это решено без "грязного", да и
>>тролли тут сбоку стояли: xfs2 и xft2 - вот кто всё "решил"...
>>
>>
>>
> А если собирать обновление для 7.х без xfs2/xft2 и не использовать
> ru_RU.UTF-8 - все глючит. Так нельзя, надо чинить qt и восстанавливать
> то, что было в 3.0.4 и работало.
Если использовать ru_RU.KOI8-R, и в системе есть шрифты iso10646-1 (или из
свежих иксов, или MS core fonts), то все показывается нормально. Это
медицинский факт.
А вот вопрос к знатокам.
Что, если на уровне иксов завести отдельные шрифты, с "кодировкой" вроде
*-geometry-symbols, загнать туда только геометрические символы, и прописать
в Qt, что геометрические символы предоставляются кодировкой
-geometry-symbols?
Для этого надо подправить систему сборки иксов - pcf шрифты в разных
кодировках там собираются из единого источника, достаточно добавить
описание еще одной кодировки.
Для freetype понадобится еще один файл описания кодировки.
Для Qt - еще один предопределенный QTextCodec, плюс указание где искать
геометрические символы ala тот самый мой хак.
Может, кто-нибудь попробует? Мне сейчас ну очень некогда :-(.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2002-10-25 6:21 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-24 7:40 ` [kde-russian] Re: mc in qt Nikita V. Youshchenko
2002-10-24 9:37 ` А.Л. Клютченя
2002-10-24 10:52 ` Nikita V. Youshchenko
2002-10-24 11:47 ` А.Л. Клютченя
2002-10-24 11:54 ` Leon Kanter
2002-10-25 6:21 ` Nikita V. Youshchenko
2002-10-24 11:52 ` Leon Kanter
рассылка русскоязычной группы пользователей и разработчиков KDE
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/kde-russian/0 kde-russian/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 kde-russian kde-russian/ http://lore.altlinux.org/kde-russian \
kde-russian@lists.kde.ru
public-inbox-index kde-russian
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.kde-russian
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git