Помощь - Поиск - Пользователи - Календарь
Полная версия: Q: Попытка редактировать OT шрифт, содержащий диакритическ
ProDTP > Шрифты > FontLab
Vadim39
Привет многоуважаемым форумчанам от новичка с вопросом.

Имеется:

1. Необходимость работы с ОТ шрифтами (например в InDesing), содержащими ивритские диакритические знаки
2. Шрифт, который вполне можно было бы взять за основу - главным образом его скриптовую часть.
Вот он тут
3. Злобное нежелание FontLab компилировать имеющиеся в шрифте скриптыsad.gif
4. Полное незнание языка скриптовsad.gif(( и отсутствие спецификации как возможностей ОТ так и соответствующих опций FontLab-а. (Мануал на 4.6 просмотрел, но ответов на большую часть вопросов, увы, не нашел).

Требуется
Помощь, совет и моральная поддержкаsmile.gif

ЗарСпасБол!

С уважением,
Kassian
А что именно ты хочешь от этого фонта? Чтобы он через OpenType умел что?
Или ты просто хочешь шрифт с евреицей в формате OT, но безо всяких OT фич?
Denis
Посмотрите ПМ!
Vadim39
Цитата
А что именно ты хочешь от этого фонта? Чтобы он через OpenType умел что?
Или ты просто хочешь шрифт с евреицей в формате OT, но безо всяких OT фич?


Разумеется фичи нужны!
Вот описание пробемы:


В иврите помимо букв имеются два еще вида диакритических знаков: огласовки и кантелляция.
В приведенном шрифте (http://btz39.members.easyspace.com/f/SILEOTSR.zip) они занимают следующие места (для краткости указываю не все):
Буквы: 05D0 - 05EA
Огласовки: 05B0 - 05BB
Кантелляция: 0591 - 05AF

В большинстве случаев огласовка распологается под предыдущей (в тексте) буквой по центру, а кантелляция (если присутствует) отодвигает ее вправо. Но для некоторых букв это не так. (см. рисунок)
http://btz39.members.easyspace.com/f/sample.jpg

Таким образом, все, что требуется сделать - объединить соотвествующие знаки в классы и указать правила расположения, что вобщем-то неплохо выполнено в приведенном в пример шрифте SILEOTSR.ttf.
Я нашел его тут http://www.sil.org/computing/fonts/silhebr...ni/download.htm вместе с документацией.
Это можно увидеть, установив его в систему и открыв файл http://btz39.members.easyspace.com/f/sample.rtf
Моя проблема начинается тут:
FL не понимает часть команд, используемых в OTF features этого шрфита и, соответственно, отказываетя его компилировать. В остальном же она - совершенно замечательная программа, от которой очень не хотелось бы отказываться, тем более, что альтернатива для редактирования OTF features мне неизвестна.

Методом тыка мне удалось "расшифровать" синтаксис лишь нескольких команд. Например:
pos @class101 <-380 0 0 0>; сдвигает глифы, перечисленные в этом классе вправо (RTL on).
pos patah munah 200;  сдвигает мunah, следующий за patah влево.

Еще вроде бы понятна команда sub.

В принципе этого бы хватило, если бы оказалось возможным создавать классы с одинаковыми знакоми, которые бы отличались только расположением. Онако это у меня уже не выходит:
Скажем, возможно задеть
@class001 = [segol tsere patah];
@class101 = [segol tsere patah];

но уже попытка указать
pos @class001 <-180 0 0 0>;
pos @class101 <-380 0 0 0>;
приводит к ошибке - типа один и тот же глиф не хочет сидеть на двух стульях сразу.

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

Еще раз спасибо, и всего доброго!
nik7777
Специально ивритом не занимался...
Посмотрите ссылку . Может поможет чем-нибудь. Там же где-то есть спецификация OTF.
А по на этой странице есть ссылка на VOLT. Тоже попробуйте поюзать, может и подойдет для Ваших целей.
Vadim39
Спасибо!
Цитата

Посмотрите ссылку . Там же где-то есть спецификация OTF.

Ее то и не удалось найтиsad.gif
Цитата

А по на этой странице есть ссылка на VOLT. Тоже попробуйте поюзать, может и подойдет для Ваших целей.

Вольт - на редкость неудобен. Потому то и хотелось узнать можно ли аналогичные функции (в особенности mark) реализовать в FL

Это сообщение было отредактировано:  Vadim39, 01 Окт, 2003 г. - 18:18
Kassian
Vadim39
Если я правильно понял (если неправильно, то все, что я ниже скажу, к делу отношения не имеет), ты взял уже готовый OT шрифт и хочешь разобраться, почему он конфликтует с FL. Правильно?

Как я усвоил из уроков программирования в школе (Basic  :-D ), практически бесполезно копаться в чужом коде без описания. Проще все написать самому заново.
Я бы попробовал убить все OT фичи в этом шрифте и сделать их самому, следуя a) Мануалу к FL; cool.gif какому-нибудь образцовому шрифту с арабицей, e.g. Times New Roman или даже лучше Arial Unicode MS [arialuni.ttf]).
Denis
Цитата
Скажем, возможно задеть
@class001 = [segol tsere patah];
@class101 = [segol tsere patah];

но уже попытка указать
pos @class001 <-180 0 0 0>;
pos @class101 <-380 0 0 0>;
приводит к ошибке - типа один и тот же глиф не хочет сидеть на двух стульях сразу

Дело в том, что оба класса состоят из одинаковых символов, и им назначается разное значение, что и приводит к "крикам" со стороны отладчика скриптов в FL.
Возможно изготовить дополнительные знаки, например:_655 _656 _657 (FL работает и с не стандартными именами глифов) @class101 = [_655 _656 _657].
Но это актуально, если символов не много.
Как вы уже писали, в вашем случае этот способ не актуален, ввиду огромного колличества диакритических знаков.
nik7777
Ссылка к разговору о спецификации OTF...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2012 Invision Power Services, Inc.

Реклама

   Rambler's Top100    Яндекс цитирования