Чтобы диакритика прыгала выше, когда буква заглавная (OpenType фичи)

Статус
Закрыто для дальнейших ответов.

gasyoun

Санскритятина
Топикстартер
15 лет на форуме
Сообщения
926
Реакции
30
Предистория: когда с небес не спустился Unicode 6.0 (и даже 4.0) проблем с изданием научных текстов на иностранных языках было много. Решал их кто как знал, никакого стандарта не было. Теперь те дикие времена прошли. А пользуюсь до сих пор старыми кривыми доюникодовскими шрифтами. Ибо нет таковых в природе, например, которые содержат нужный нам набор кириллических диакритик (для санскритских и бенгальских текстов). Теперь получилось почти все, кроме того, что написано в "Проблема".

Постановка задачи: издать Бхагавадгиту с транскрипцией на основе кириллицы (как у вайшнавов).
Решить это не очередным творением 1995 г., а чисто юникодовским стандартом и opentype сочетаниями.

Набор знаков, который нужно охватить:
«е о а и у» с чертой вверху (0304)
«л н д р т х ш» с точкой внизу (0323)
«м н р» с точкой вверху (0307)
«е о а и у э» с тильдой вверху (0303)
«е о а и у э» с чертой и тильдой вверху (0304+0303)
«л» с чертой внизу (0331)
«л р» с точкой внизу (0323) и чертой вверху (0304)

Проблема: я не знаю, как сделано так, чтобы диакритика прыгала выше, когда буква заглавная и когда два акцента стоят.
Я всё обернул в лигатуры, и так красивее выглядит.

Помимо этого я не пойму, в чем разница между Word 2007 и Word 2010. Word 2007 показывает как надо (но .pdf экспортирует кривой), а Word 2010 показывает кашу - лигатуры наезжают на сами знаки. Что делать?

В 2007 ворде все на месте (и на правильное высоте) - https://www.dropbox.com/s/z02tz3ecpl26ole/ISKCON-diacritics-cyr-Word2007-yes.jpg

В 2010 ворде (хотя согласно Википепдии это первый ворд, где нормально поддерживаются лигатуры OpenType) - полная каша.
https://www.dropbox.com/s/816u0dekzf0dbgk/ISKCON-diacritics-cyr-Word2010-no.jpg

Исходный вордовский файл для экспериментов https://www.dropbox.com/s/dmosh2k4ow8e8zk/ISKCON-diacritics-cyr.docx

Сам шрифт https://www.****/CharterIndologique.otf

Исходник FontLab-овский
https://www.dropbox.com/s/1hctck96um9f8xk/Charter Indologique.vfb

ISKCON-diacritics-cyr-Word2010-no.jpgindesign60.jpgISKCON-diacritics-cyr-Word2007-yes.jpg

Спасибо за понимание,

Юникод Образец (Calibri)
0301 ш́Ш́
0303 э̃е̃о̃а̃и̃у̃
Э̃Е̃О̃А̃И̃У̃
н̃
Н̃
0304 е̄о̄а̄ӣӯ
Е̄О̄А̄ӢӮ
0331 л̱
Л̱
0323 л̣н̣д̣р̣т̣х̣ш̣
Л̣Н̣Д̣Р̣Т̣Х̣Ш̣
0307 м̇р̇н̇
М̇Р̇Н̇
0304 0303 е̄̃о̄̃а̄̃ӣ̃ӯ̃
Е̄̃О̄̃А̄̃Ӣ̃Ӯ̃
0310 л̐м̐
Л̐М̐
0323 0304 р̣̄л̣̄
Р̣̄Л̣̄
 

Н. Васильева

Участник
Сообщения
386
Реакции
736
Ответ: Чтобы диакритика прыгала выше, когда буква заглавная (OpenType фичи)

А при чем тут лигатуры? Это композиты. Так буквы с диакритическими знаками и делаются. Только в приложенном примере на самом деле почему-то не использованы компоненты (ссылки на глифы).
 

salmoose

12 лет на форуме
Сообщения
46
Реакции
152
1. Вы не совсем понятно формулируете вопрос. Чтобы «диакритика прыгала выше, когда буква заглавная» — это одно и решается одними средствами, а чтобы сделать позиционирование диакритики относительно определенного символа — это несколько другое и решается по-другому.

2. Насколько я понял, Вам нужно решить именно задачу позиционирования. Тут есть два пути. Первый (который Вы, собственно, выбрали) — сделать композитные знаки и прописать соответствующие подстановки. Второй — воспользоваться специально для этого предназначенными фичами позиционирования mark и mkmk (но тут придется воспользоваться другим редактором — Fontlab их не поддерживает).

3. Если Ваша задача — что-то издать, почему Вы ориентируетесь на возможности MS Word, а не InDesign или QuarkXpress? Хотя сгенерированный Вами шрифт вполне работоспособен и в MS Word 2010. Дело в том, что Ваш вордовский файл создан в более ранней версии MS Word, последняя же версия работает с ним в режиме ограниченной функциональности — поэтому Ваши фичи не работают. Нужно просто пересохранить документ в формате последней версии MS Word и в разделе Дополнительно меню Шрифт включить Ваши лигатуры. Но лучше перенести этот lookup из фичи liga в фичу ccmp (все будет работать по умолчанию).

4. Вопрос этики. В этом шрифте стоят копирайты ITC и ParaType.
 
  • Спасибо
Реакции: suntory

gasyoun

Санскритятина
Топикстартер
15 лет на форуме
Сообщения
926
Реакции
30
Спасибо Вам за столь подробный ответ.

1. Чтобы «диакритика прыгала выше, когда буква заглавная» — это одно и решается одними средствами, а чтобы сделать позиционирование диакритики относительно определенного символа — это несколько другое и решается по-другому.
Понял, следовательно это два отдельных вопроса.

2. задачу позиционирования. Тут есть два пути. Первый (который Вы, собственно, выбрали) — сделать композитные знаки и прописать соответствующие подстановки. Второй — воспользоваться специально для этого предназначенными фичами позиционирования mark и mkmk (но тут придется воспользоваться другим редактором — Fontlab их не поддерживает).
Какой считаете правильнее? Предусмотреть все сочетания в индийских письменностях - сильно трудоемко. Есть ли где интересный обучающий материал по mark и mkmk?

3. Если Ваша задача — что-то издать, почему Вы ориентируетесь на возможности MS Word, а не InDesign или QuarkXpress? Хотя сгенерированный Вами шрифт вполне работоспособен и в MS Word 2010.

Ориентируюсь на ворд, ибо индизайн работает с деванагари еще более непредсказуемо, чем ворд. Но главое - ворд есть у всех, соотвественно можно внести поправку в исходник. Если же инди - то нужно делать пометки в .pdf, потом их от туда вычленять.
Делали, муторно, по возможности избегаю.

Дело в том, что Ваш вордовский файл создан в более ранней версии MS Word, последняя же версия работает с ним в режиме ограниченной функциональности — поэтому Ваши фичи не работают. Нужно просто пересохранить документ в формате последней версии MS Word и в разделе Дополнительно меню Шрифт включить Ваши лигатуры. Но лучше перенести этот lookup из фичи liga в фичу ccmp (все будет работать по умолчанию).
Хотя, возможно, Вы сказали для себя элементарную вещь, но тем не менее почти убедили сконвертироваться на .docx. Особенно ценен совет насчет "lookup из фичи liga в фичу ccmp" - знать бы еще как это сделать.

4. Вопрос этики. В этом шрифте стоят копирайты ITC и ParaType.

Я ведь их намеренно не стираю, работу Ефимова признаю и ценю. До 1000 экз. тиража в научных цельях имею право использовать, по крайнее мере так было раньше. Я не скрываюсь, гарнитуры указаны в колонтитуле. Я считаю, что это один из 5 лучших современных кириллических шрифтов, а так как там почти нет диакритики, то я вынужден редактировать именно его. Паратайп не головотяпы, тут же не варезный сайт какой-то :)

Еще раз благодарю за уделенное мне время.
 

Вложения

  • opentype-ligatures.jpg
    opentype-ligatures.jpg
    112.6 КБ · Просм.: 1 017

Н. Васильева

Участник
Сообщения
386
Реакции
736
"гарнитуры указаны в колонтитуле"

В выпускных данных, наверное?
 

salmoose

12 лет на форуме
Сообщения
46
Реакции
152
Какой считаете правильнее? Предусмотреть все сочетания в индийских письменностях - сильно трудоемко. Есть ли где интересный обучающий материал по mark и mkmk?

Лично я правильнее считаю решать эту задачу средствами ОТ, т. е., через фичи mark и mkmk. Но способ с композитными знаками тоже вполне рабочий.
Если решите попробовать фичи позиционирования, Вам понадобится разобраться с одной из программ — FontForge или MS VOLT. Обе бесплатные, но по-разному устроены.
Про обе (и фичи позиционирования в них) было что-то здесь: Yannis Haralambous Fonts & Encodings O'Reilly Media, Inc., 2007
По FontForge можно еще его документацию почитать.
По MS VOLT — http://scripts.sil.org/cms/scripts/page.php?item_id=VOLT_Tutorial
Где-то там есть еще вольтовские исходники их шрифтов, можно открыть и посмотреть, как все устроено.

Ориентируюсь на ворд, ибо индизайн работает с деванагари еще более непредсказуемо, чем ворд.

Вы Indesign ME использовали?

Особенно ценен совет насчет "lookup из фичи liga в фичу ccmp" - знать бы еще как это сделать.

Вот начало Вашего кода (фича liga):

feature liga {
script latn;
lookup stdliga {
sub f i by fi;
sub f l by fl;
} stdliga;

lookup cyrindo {

Нужно создать фичу ccmp и вот этот lookup cyrindo полностью перенести в нее.

Я ведь их намеренно не стираю, работу Ефимова признаю и ценю. До 1000 экз. тиража в научных цельях имею право использовать, по крайнее мере так было раньше. Я не скрываюсь, гарнитуры указаны в колонтитуле. Я считаю, что это один из 5 лучших современных кириллических шрифтов, а так как там почти нет диакритики, то я вынужден редактировать именно его. Паратайп не головотяпы, тут же не варезный сайт какой-то :)

Я не имею отношения к компании ПараТайп, но вот их лицензионное соглашение (последняя, кажется, редакция): http://www.paratype.ru/help/license/paratype.asp
На их сайте есть раздел бесплатных шрифтов, но ITC Charter среди них нет.
 

suntory

Administrator
15 лет на форуме
Сообщения
23 475
Реакции
12 484
До 1000 экз. тиража в научных цельях имею право использовать, по крайнее мере так было раньше.
C трудом верится, сейчас в любом случае отдельная лицензия на право редактировать и запрещено распространять результат самостоятельно.
Формально у вас нет права даже vfb выкладывать в открытый доступ, otf тем более.
 

salmoose

12 лет на форуме
Сообщения
46
Реакции
152
см. картинку
 

Вложения

  • ch_ind.jpg
    ch_ind.jpg
    321.9 КБ · Просм.: 976
Статус
Закрыто для дальнейших ответов.