рассылка русскоязычной группы пользователей и разработчиков KDE
 help / color / mirror / Atom feed
* [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