From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Nikita V. Youshchenko" To: "Albert R. Valiev" Date: Thu, 24 Oct 2002 11:40:44 +0400 User-Agent: KMail/1.4.3 References: <200210241128.11507.darkstar@altlinux.ru> In-Reply-To: <200210241128.11507.darkstar@altlinux.ru> Cc: kde-russian@lists.kde.ru MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="------------Boundary-00=_WN6HXOVOLLLP3C1XTD2E" Message-Id: <200210241140.44864@zigzag.cs.msu.su> Subject: [kde-russian] Re: mc in qt Sender: kde-russian-admin@lists.kde.ru Errors-To: kde-russian-admin@lists.kde.ru X-BeenThere: kde-russian@lists.kde.ru X-Mailman-Version: 2.0.13 Precedence: bulk Reply-To: kde-russian@lists.kde.ru List-Help: List-Post: List-Subscribe: , List-Id: KDE russian translation mailing list List-Unsubscribe: , List-Archive: Archived-At: List-Archive: --------------Boundary-00=_WN6HXOVOLLLP3C1XTD2E Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit > Привет! > > Никита, а можно попродробнее об исправлении? чего-то я не въехал.... > если можно, патчик :)))) Да это грязный хак, а не исправление. В аттачменте. Просто кормить X терминалы базе на санов с процами по 40 МГц юникодными шрифтами - это смерть. А с этой штукой пользователи хотя бы рамочки в mc видят, если установят шрифт -monotype-courier new-... Видимо, проблема такая. Некоторые iso8859 шрифты имеют символы-рамочки в диапазоне 0x8-0x1F, некоторые не имеют. Некоторые koi шрифты имеют эти символы в диапазоне 0x8-0x1F, некоторые - в диапазоне 0x80-0x97, а некоторые вовсе не имеют. В xfd все это прекрасно видно. Похоже, раньше в Qt стояло, что символы есть в диапозоне 0x8-0x1f, но потом господам из trolltech надоело, что в зависимости от конкретного шрифта рамочки то есть, то нет. И они решили, что пусть все либо используют юникод (с которым все работает), либо сидят без рамочек. Кажется, стандарте koi8 символы вроде как обязаны находится в диапазоне 0x80-0x97 (я не уверен, но по крайней мере freetype их туда помещает). Но, скажем, в шрифтах cronyx нет их там ... --------------Boundary-00=_WN6HXOVOLLLP3C1XTD2E Content-Type: text/x-diff; charset="us-ascii"; name="qt-patch-geom-chars" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="qt-patch-geom-chars" 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; --------------Boundary-00=_WN6HXOVOLLLP3C1XTD2E--