Victor B. Wagner wrote:
On Sun, 24 Feb 2002, aen wrote:
Когда я делал патч для печати i18n в Mozilla, то времени на чтение
900-страничной книги от Adobe не было и пришлось пойти "своим путем".
Вместо обычной утомительной генерации многих (в общем случае) векторов
кодировки (по сути, собственных шрифтов внутри ps-файла), что очень
неприятно для текста, содержащего много разных Unicode-глифов, я
воспользовался функцией вывода глифа по его имени (glyphshow). Почему-то
ей никто не пользуется, а, между тем, выходной ps получается
Наверное потому что
(некоторый кусок текста) show
превращается в примерно десять раз более длинную констркуцию,
даже если написать функцию типа glypharrayshow которая бы употреблялась
не большее число раз чем show в нормальном ПС.
В том то и дело, что приведенная Вами конструкция используется
повсеместно. И для меня не очевидно, что
(некоторый кусок текста) glyphshow
развернется в конструкцию длиннее
В книге Thinking In Postscript упоминалось что для многобайтовых
кодировок используется какой-то метод шестнадцатиричного кодирования.
Но, видимо, полное его описание есть только в 900 страничной книжке
от Adobe.
Боюсь, что нет и в ней. Разве только в виде ссылок на другие документы.
Во всяком случае, при диагональном просмотре я не нашел.
исключительно примитивен и легко читаем. Скорее всего, это увеличивает
время интрепретации, но в реальной жизни я этого не наблюдал.
Размер файла в реальной жизни иногда тоже бывает значим.
Размер можно сильно уменьшить, если посдставлять имена глифов при
генерации ps, а не в самой ps-программе.
Может быть, это будет полезно тому, кто занимается интернационализацией
печати.
Я давно думаю над аналогичной констркуцией для Tk.
Только я хотел системную кодировку (если она 8-битная) использовать
как есть, считая что чисто статистсически большая часть букв на данном
конкретном компьютере в нее попадет. А что не попадет - то по явным
именам глифов.
Проблем здесь никаких. Вряд ли стоит изучать мой патч, но в
ps-программах из gs Вы легко найдете примеры использования glyphshow.
Rgrds, AEN