LINUX.ORG.RU

Русский в PostScript


0

0

А как в PostScript выводить какие-либо буквы, кроме латиницы? В любой кодировке (utf8, koi8-r)?? Подскажите пожалуйста. А лучше, дайте примерчик простенький.
Документация от adobe есть. Сижу читаю. Но срочно надо - прога экспортирует простейшую графику в eps. И тут заказчику вдруг понадобился русский, блин:( А я с postscript только разбираться начал.


И еще - кто-то говорил, что в этом языке есть возможность задать последовательность координат точек (x,y) и вид интерполяции, а он сам построит кривую. То бишь графики функций моэжно с полпинка строить. Так ли это? Если да - куда копать?

ProtecT
() автор топика

Тогда лучше посмотри на METAPOST

Begemoth ★★★★★
()
Ответ на: комментарий от ProtecT

>И еще - кто-то говорил, что в этом языке есть возможность задать последовательность координат точек (x,y) и вид интерполяции, а он сам построит кривую. То бишь графики функций моэжно с полпинка строить. Так ли это? Если да - куда копать?

PSTrics

sS ★★★★★
()

Ну, вот пример русского текста 
(в начале идет вектор кодировки, затем создание логического шрифта из физического, 
и под конец собственно исполняемая часть - вывод текста). 
Поскольку шшрифты не embedded, то предполагается, 
что интерпретатор постскрипта (ghostscript) знает где найти требуемый шрифт (TextbookPSCyr-Regular), 
и в физическом шрифте с этим названием есть русская часть 
(если эти условия не выполнены, то русского текста не будет видно).

%!PS-Adobe-3.0
%%DocumentNeededResources: font TextbookPSCyr-Regular
%%DocumentMedia: a4 595 841 0 () ()
%%Title: R
%%Creator: R Software
%%Pages: (atend)
%%Orientation: Landscape
%%BoundingBox: 18 18 577 824
%%EndComments
%%BeginProlog
/bp  { gs 595.00 0 translate 90 rotate gs } def
% begin .ps.prolog
/gs  { gsave } def
/gr  { grestore } def
/ep  { showpage gr gr } def
/t   { 6 -2 roll moveto gsave rotate
       ps mul neg 0 2 1 roll rmoveto
       1 index stringwidth pop
       mul neg 0 rmoveto show grestore } def
/rgb { setrgbcolor } def
/s   { scalefont setfont } def
% end   .ps.prolog
% begin encoding
/KOI8AdobeEncoding [
 /grave /acute /circumflex /tilde /dieresis /hungarumlaut /ring /caron
 /breve /macron /dotaccent /cedilla /ogonek /uni04C0 /angleleft /angleright
 /quotedblleft /quotedblright /cyrflex /dblgrave /cyrbreve /endash /emdash /.notdef
 /perthousandzero /dotlessi /dotlessj /ff /fi /fl /ffi /ffl
 /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
 /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
 /zero /one /two /three /four /five /six /seven
 /eight /nine /colon /semicolon /less /equal /greater /question
 /at /A /B /C /D /E /F /G
 /H /I /J /K /L /M /N /O
 /P /Q /R /S /T /U /V /W
 /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
 /quoteleft /a /b /c /d /e /f /g
 /h /i /j /k /l /m /n /o
 /p /q /r /s /t /u /v /w
 /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
 /afii10050 /uni0492 /afii10051 /afii10060 /uni04BA /uni0496 /uni0498 /afii10058
 /afii10056 /uni049A /uni04A0 /uni049C /uni04D4 /uni04A2 /uni04A4 /afii10054
 /uni04E8 /uni04AA /afii10062 /uni04AE /uni04B0 /uni04B2 /afii10145 /uni04B8
 /uni04B6 /afii10053 /uni04D8 /afii10059 /afii10023 /afii61352 /currency /section
 /afii10098 /uni0493 /afii10099 /afii10108 /uni04BB /uni0497 /uni0499 /afii10106
 /afii10104 /uni049B /uni04A1 /uni049D /uni04D5 /uni04A3 /uni04A5 /afii10102
 /uni04E9 /uni04AB /afii10110 /uni04AF /uni04B1 /uni04B3 /afii10193 /uni04B9
 /uni04B7 /afii10101 /afii10846 /afii10107 /afii10071 /quotedblbase /guillemotleft /guillemotright
 /afii10096 /afii10065 /afii10066 /afii10088 /afii10069 /afii10070 /afii10086 /afii10068
 /afii10087 /afii10074 /afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080
 /afii10081 /afii10097 /afii10082 /afii10083 /afii10084 /afii10085 /afii10072 /afii10067
 /afii10094 /afii10093 /afii10073 /afii10090 /afii10095 /afii10091 /afii10089 /afii10092
 /afii10048 /afii10017 /afii10018 /afii10040 /afii10021 /afii10022 /afii10038 /afii10020
 /afii10039 /afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031 /afii10032
 /afii10033 /afii10049 /afii10034 /afii10035 /afii10036 /afii10037 /afii10024 /afii10019
 /afii10046 /afii10045 /afii10025 /afii10042 /afii10047 /afii10043 /afii10041 /afii10044
]
 def
% end encoding
%%IncludeResource: font TextbookPSCyr-Regular
/TextbookPSCyr-Regular findfont
dup length dict begin
  {1 index /FID ne {def} {pop pop} ifelse} forall
  /Encoding KOI8AdobeEncoding def
  currentdict
  end
/Font1 exch definefont pop
%%EndProlog
%%Page: 1 1
bp
/ps 17 def /Font1 findfont 17 s
0 0 0 rgb
290.22 385.09 (Привет!) 0 0 360.00 t
ep
%%Trailer
%%Pages: 1
%%EOF

geekkoo
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.