Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Неправильное отображение символов с диакритиками  (Прочитано 4085 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Jack Sparrow

  • Автор темы
  • Активист
  • *
  • Сообщений: 641
    • Просмотр профиля
Во вложении - текстовый файл letters.txt в кодировке UTF-8. По хорошему текст должен отображаться так:

Но в некоторых программах он отображается неправильно:

Поясняю. Здесь две открытые буквы "о" - маленькая и заглавная. На каждую поставлены по два комбинированных (combining) диакритика - тильда (tilde) и ударение вверх (acute). Для тех, кто не знает: комбинированные символы это такие символы, которые в памяти занимают место как обычный символ, но на экране стоят на месте предыдущего символа, т.е. каретка при этом не передвигается вправо. В данном случае, каждая буква (или знако-место), фактически состоит из трех отдельных символов.
Я не знаю, что тут тупит, ОС, шрифт или конкретное приложение, но, по-хорошему, когда добавляешь комбинированный диакритик, то ОС, шрифт или само приложение, или что-то еще, я не знаю, должно учитывать, что если это заглавная буква, то диакритик должен помещаться выше, чем при маленькой букве. Если добавляешь второй диакритик, то он должен помещаться над первым и т.д. Здесь же видно, что что-то (хочу выянить, что именно) тупо помещает диакритики на одной высоте. Я испытал несколько программ, которые смог достать. Проще было бы свести их в таблице, но не знаю, как на этом форуме ей пользоваться.

Linux
Правильно: Gedit, Tomboy, KWord, KNotes
Неправильно: LibreOffice, Geany, Gnome-terminal, Konsole, KWrite, Konqueror

Windows
Правильно: Word, Publisher
Неправильно: Блокнот, WordPad

Mac
Правильно: TextEdit, Firefox, Chrome, Evernote, Safari
Неправильно: LibreOffice, TextWrangler, Thunderbird, Pages (последнее особенно огорчило)

Недавно еще слышал про подобную проблему со Scribus, но у меня его нет, поэтому не знаю, там то же самое, или что-то другое.
Как я понял, это зависит не от ОС, т.к. на всех есть как правильные, так и не правильные отображения. От шрифта тоже не зависит. Я пробовал разные шрифты, естественно, нужен пропорциональный (Konsole не дал даже такого выбора; там только три моноширных).
Выходит, это завивит от приложения? Но что это значит? Должен ли заботиться об этом программист приложения? Не должно ли это быть присуще языку, на котором разрабатывается приложение?
Скажем, LibreOffice написан на Java. Что, теперь во всех Java-приложениях будет такой нежелательный эффект? А Windows? У них, вроде бы, все свое, а все равно, есть и "умные" и "тупые" приложения.

Кто-нибудь может пролить свет на это явление, и если не объяснить, как с этим бороться, хотя бы объянить причину?
Нейросети тебя не заменят. Тебя заменит человек, который умеет ими пользоваться.

Оффлайн luu

  • Активист
  • *
  • Сообщений: 721
  • шта?
    • Просмотр профиля
Во-первых, мне кажется, что это часто зависит от шрифта. (На скринах мы тоже видим разные шрифты). Во-вторых, в каком языке это используется? Если поставить такую локализацию, проблема сохранится?!

Оффлайн Jack Sparrow

  • Автор темы
  • Активист
  • *
  • Сообщений: 641
    • Просмотр профиля
Нет, шрифты я пробовал разные. Эффект тот же. А на скринах разные шрифты потому, что грабил невнимательно.
Насчет локализации не знаю. У меня либо русская, либо английская. В любом случае, эти буквы не относятся ни к той, ни к другой.
Нейросети тебя не заменят. Тебя заменит человек, который умеет ими пользоваться.

Оффлайн luu

  • Активист
  • *
  • Сообщений: 721
  • шта?
    • Просмотр профиля
Ну, собственно, надо попробовать.  ;)

Оффлайн Jack Sparrow

  • Автор темы
  • Активист
  • *
  • Сообщений: 641
    • Просмотр профиля
Понимаю, что это никому не нужно, но все же ...

Вот что мне удалось выяснить. Есть такая технология Graphite, которая позволяет правильное отображение не латинских шрифтов. Если приложение поддерживает эту технологию, и шрифт тоже, то должно отображаться правильно. Если приложение поддерживает, а шрифт нет, то тоже будет неправльно. Говорят, что ООо 3.2 поддерживает эту технологию. У меня только LO 3.3.2. У кого есть ООо, попробуйте с разными шрифтами и напишите, что получится.
Нейросети тебя не заменят. Тебя заменит человек, который умеет ими пользоваться.

Оффлайн luu

  • Активист
  • *
  • Сообщений: 721
  • шта?
    • Просмотр профиля
А точно дело не в шрифтах? Потому что на скринах мы видим, что сами символы обрабатываются правильно, т.е. печатаются на месте предыдущего. Проблема в том, что по вертикали они лепятся друг на друга...  ???

Оффлайн Jack Sparrow

  • Автор темы
  • Активист
  • *
  • Сообщений: 641
    • Просмотр профиля
От шрифтов зависит, но я пробовал разные. Например, в TextEdit (сейчас в Маке) нормально отображается Helvetica, Times, Times New Roman, Veranda, Courier, Courier New (хотя два последние вообще моноширные, если не ошибаюсь) и другие. Плохо: Tahoma (совсем плохо). Частично (т.е. маленькая буква нормально, большая - с наложением): DeJaVu Sans, DeJaVu Serif. И еще: Arial Black отображается нормально, а вот просто Arial - плоховато.

LibreOffice все отображает плохо. Даже редкие заведомо правильные шрифты. Вот и хочу узнать про ООо 3.2 или выше.

Пользователь решил продолжить мысль 18 Июля 2011, 17:43:47:
Еще мне сказали, что в LibreOffice под Windows все нормально.

Пользователь решил продолжить мысль 18 Июля 2011, 19:14:53:
Оказалось, что в Убунте LibreOffice тоже нормально. То ли я ошибся, когда тестил, то ли просто при очередном обновлении это исправили. А в маковской версии не работает. Видимо, порт не очень.
« Последнее редактирование: 18 Июля 2011, 19:14:53 от Jack Sparrow »
Нейросети тебя не заменят. Тебя заменит человек, который умеет ими пользоваться.

 

Страница сгенерирована за 0.021 секунд. Запросов: 20.