Я хотел бы вновь открыть вопрос, связанный со следующим:

(Чешский) поддержка набора символов в gvim 7.3 на Windows 7

По сути, в этом посте я заметил, что некоторые чешские символы отображаются черными квадратами. Поэтому я разместил вопрос и заметил, что проблема, похоже, исчезла, изменив шрифт. Я думал, что это решило проблему, потому что символы в файле, который я использовал, отображались правильно.

Тем не менее, я заметил следующее: хотя некоторые чешские символы отображаются правильно, если изменить шрифт из меню Gvim, другие не отображаются правильно:

Например, когда я вставляю символ Ů (латинская заглавная буква u с кольцом выше) или ů (латинская строчная буква u с кольцом выше), ни один шрифт не отображает полученный символ правильно. Например, шрифт Fixedsys отображает черный квадрат и маленькое u, соответственно, в то время как Lucida Console отображает заглавную U и маленькую U соответственно. Я перепробовал все шрифты, доступные в раскрывающемся меню gvim, и ни один из них не подходит для данного конкретного случая.

Проблема не заканчивается здесь. Метод ввода символов Unicode создает неправильные символы:

CTRL-V u0160 должен выдавать чешский символ (Š), но вместо него вставляется обратная кавычка ('). CTRL-V u016e должен производить чешский символ (Ů), но вместо него вставляется символ n (n). И список продолжается.

Как будто этого было недостаточно, на следующем сайте есть список комбинаций клавиш альтернативного метода ввода (список орграфов):http://code.google.com/p/vim/source/browse/runtime/ док / digraph.txt

но, несмотря на наличие последней версии gvim, когда я набираю ":digraphs", этот список не отображается. Появляется только старый список из gvim 7.3, который не включает их.

Например, CTRL-K U0 и CTRL-K u0 выдают нулевой символ вместо следующего:

Ů U0 016E 0366 ПИСЬМО ЛАТИНСКОГО КАПИТАЛА С КОЛЬЦОМ ВЫШЕ

ů u0 016F 0367 LATIN МАЛЕНЬКОЕ ПИСЬМО U С КОЛЬЦОМ ВЫШЕ

Подводя итог, можно сказать, что, несмотря на то, что недавно был выпущен gvim 7.4, ни один из распределенных шрифтов не совместим с чешским языком, вставка юникода через CTRL-V, кажется, приводит к неправильным символам, а поддержка диграфа неполная.

Спасибо за ответ.

1 ответ1

1

Проблема заключается в том, что кодирование Latin-2 (iso-8859-2) и Windows-1250 (используется windows) различается некоторыми символами:

ž, š, ť, Ž, Š, Ť

Все различия суммированы в википедии или чешской версии

Если вы установите encoding=cp1250 , то все будет в порядке.


Я не хочу продлевать комментарии, поэтому добавляю их сюда.

Существует проблема в том, что стандартная кодовая страница использует только 1 1byte (шестнадцатеричное число 100) для символов, поэтому существуют стандарты ISO для разных языков. Если вы set encoding iso-8859-2 и пытаетесь добавить символ юникода (шестнадцатеричный код 160) Š , то gvim возвращается к символу (шестнадцатеричный код 60). Вы должны использовать коды ISO-8859-2, где Š ì s (hex 089). Другие коды здесь: http://cs.wikipedia.org/wiki/ISO_8859-2

UTF-8 с другой стороны использует 2 2bytes и содержит все одновременно? буквы и знаки. Так что если вы используете set encoding=utf-8 и затем добавляете U0160 или U5927 вы получите Š соответственно.

Fixedsys содержит ů и Ů, ИЛИ существует разница в версиях шрифтов между мутациями языка Windows (я использую чешскую версию), но я сомневаюсь в этом. Вы можете использовать утилиту Windows Charmap.exe , там вы можете выбрать нужный шрифт и проверить, какие символы он поддерживает, даже их код Unicode.

Я кратко попробовал некоторые шрифты по умолчанию в GVim, и, кажется, есть те, которые поддерживают китайский (например, MS Mincho), но я не знаю, какие знаки важны.

GVim, кажется, поддерживает только monospace шрифты символов, поэтому, если вы будете искать другой шрифт, имейте это в виду. :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .