Author Topic: Ліґа в Кириллиці  (Read 134 times)

0 Members and 1 Guest are viewing this topic.

Offline Marat Gubaiev

  • Newbie
  • Posts: 3
  • Gender: Male
on: July 16, 2019, 15:21
В якості ліґи в кириллиці я використовую COMBINING DOUBLE INVERTED BREVE. Під WinXP все було біль-менш добре (хоча цей символ треба було писати перед парою літер, тоді як в разі латинських літер viн нормально viдображався як-що був уставлений у середину%%%%%), але під Windows7 з моно'ширинними шрифтами просто біда! Що робити, хто може підказати?


PS

Ось тут можна побачити приклади: http://crh2.ugu.pl/test.html
Тако ж під Windows7 є глюки з арабськими огласовками: касра має бути під літерою а не під шаддою!


PPS

Приклади реального застосува͡ння: http://crh2.ugu.pl
див. наприклад ста͡ттю ~acaip~ або секцію -- [IDIOMA]LAR --.

Offline Python

  • Posts: 41350
  • Gender: Male
  • Aluarium agent
Reply #1 on: July 17, 2019, 23:45
Під WinXP все було біль-менш добре (хоча цей символ треба було писати перед парою літер
Специфіка деяких застарілих шрифтів (якщо не помиляюсь, Arial Unicode MS мав подібну особливість). Юнікодний стандарт вимагає розміщувати лігу між літерами. В принципі, можна встановити на комп'ютер той же Arial Unicode MS і читати текст з його допомогою, хоча на майбутнє краще переробити текст відповідно до стандарту.
але під Windows7 з моно'ширинними шрифтами просто біда!
Це біда більшості моноширинних шрифтів, незалежно від операційної системи. Бо просто я́к розмітити комбінаційний діакритик, щоб він одночасно і мав ширину стандартного символа (що випливає з моноширинності), і не займав місця взагалі (що потрібно для адекватного відображення в тексті)? Компромісом могла б бути ліга, що займає одну символьну позицію в тексті, але при цьому графічно охоплює простір трьох символів (включаючи попередню й наступну літери). На жаль, моноширинні шрифти з таким вирішенням проблеми поки що мені не траплялися. Втім, навіть і в цьому випадку між літерами, сполученими лігою, буде порожній простір (що незовсім ідеально).

Ще є псевдомоноширинні шрифти (напр., unifont), де літери мають фіксовану ширину, тоді як комбінаційні діакритики не займають місця в тексті (мають нульову ширину). На жаль, у деяких випадках їх неможливо використати там, де від шрифта вимагається фіксована ширина символів (напр., такі шрифти неможливо встановити для роботи в консолі), або форматування тексту, розрахованого на справжню моноширинність, ламається через діакритики.

Якщо ж не зациклюватись на моноширинності, можете спробувати юнікодні шрифти непостійної ширини, що з'явилися в семірці (напр., Cambria розміщує лігу над д͡ж цілком адекватно, хоча сама ліга дещо вузькувата, як на мій смак).

тоді як в разі латинських літер viн нормально viдображався як-що був уставлений у середину%%%%%)
А оце вже цікаво. Насправді існує безліч способів досягнення подібного ефекту, коли діакритик у присутності різних літер по-різному розміщується (напр., особливе відображення ліги над латинськими літерами спеціально прописано в шрифті, або ж за це відповідальний програмний код, що спеціальним чином обробляє певні символи, або ж якимось чином у тексті відображалась пекельна суміш символів з різних шрифтів...). Ще помітив, що на позиціонування діакритиків інколи може впливати згладження (чого в нормі бути не повинно) — так, у текстовому редакторі jEdit зі шрифтом unifont при згладженні й без згладження діакритики розміщувалися по різному (зараз не можу відтворити ефект — можливо, це був баг попередньої версії шрифта, або, що не менш імовірно, конфлікт між різними версіями шрифта).
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Note: this post will not display until it's been approved by a moderator.
Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
√49 Напишите ответ строчными буквами:
«Сто одёжек, все без застёжек» — что это?: