Цитата
А что именно ты хочешь от этого фонта? Чтобы он через 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>;
приводит к ошибке - типа один и тот же глиф не хочет сидеть на двух стульях сразу.
Помимо этого, наверняка существуют и другие команды - только вот ума не приложу где бы о них узнать.
Так очень помог бы, к примеру, оператор указывающий следующему глифу место ровно по-середине предыдущего и т. п.
Еще раз спасибо, и всего доброго!