Модератор: Модераторы
alexs писал(а):Вся проблема во внутренней реализации генерации PostScript файла в Lazarus-е. Там жёстко прошиты используемые шрифты. Посмотри файл postscriptcanvas.pas
(Name : 'Times-RomanISO';
Widths: (250, 333, 408, 500, 500, 833, 778, 180,
333, 333, 500, 564, 250, 333, 250, 278, 500, 500,...
(Name : 'LiberationSans-Regular';
Widths: (250, 333, 408, 500, 500, 833, 778, 180,
333, 333, 500, 564, 250, 333, 250, 278, 500, 500,....
printer.begindoc;
printer.canvas.font.name:='Liberation Sans';
printer.canvas.Font.CharSet:=204;
тыры-пыры...
function TPostScriptPrinterCanvas.MappedFontName: string;
#!/bin/sh
SHORTPATHS=1
AUTOSHORTGS=1
PSF_ONLYALIASES=1
TTF_ONLYALIASES=0
LANG_NAME=`basename $LANG .$(locale charmap) | sed -e s/_.*//`
function prefer_list {
cat /etc/fonts/fonts.conf | \
egrep -v -e "^[ \t]*$" | sed -e "s/^[ \t]\+//g" | sed -e "s/[ \t]\+$//g" | \
egrep -e "<prefer>" -B 1 -A 25 | \
egrep "<family>$1</family>" -A 25 | \
egrep -e "</alias>" -B 25 | \
egrep -v "</*alias>|</*prefer>" | sed -e "s/<\/*family>//g" | sed 1d > /tmp/$1-pref.txt
}
[ -f /tmp/Fontmap.GS-1 ] && rm -f -- /tmp/Fontmap.GS-1
[ -f /tmp/Fontmap.GS-2 ] && rm -f -- /tmp/Fontmap.GS-2
[ -f /tmp/serif-pref.txt ] && rm -f -- /tmp/serif-pref.txt
[ -f /tmp/sans-serif-pref.txt ] && rm -f -- /tmp/sans-serif-pref.txt
[ -f /tmp/monospace-pref.txt ] && rm -f -- /tmp/monospace-pref.txt
[ -f /tmp/fc-list.txt ] && rm -f -- /tmp/fc-list.txt
prefer_list serif
prefer_list sans-serif
prefer_list monospace
fc-list :lang=: file family slant weight > /tmp/fc-list.txt
fc-list :lang=$LANG_NAME file family slant weight >> /tmp/fc-list.txt
cat /tmp/fc-list.txt | egrep -v "^[ \t]*$" | awk \
-v OPT1=$SHORTPATHS \
-v OPT2=$AUTOSHORTGS \
-v OPT3=$PSF_ONLYALIASES \
-v OPT4=$TTF_ONLYALIASES 'BEGIN {
sans_n=0;
delete SANS;
while (getline SANS[++sans_n] < "/tmp/sans-serif-pref.txt") {;}
SANS1=sans_n;
sans_styles_n=0;
delete SANS_STYLES;
delete SANS_TYPES;
serif_n=0;
delete SERIF;
while (getline SERIF[++serif_n] < "/tmp/serif-pref.txt") {;}
SERIF1=serif_n;
serif_styles_n=0;
delete SERIF_STYLES;
delete SERIF_TYPES;
mono_n=0;
delete MONO;
while (getline MONO[++mono_n] < "/tmp/monospace-pref.txt") {;}
MONO1=mono_n;
mono_styles_n=0;
delete MONO_STYLES;
delete MONO_TYPES;
print "" > "/tmp/Fontmap.GS-2";
} {
n1=split($0,A,":");
gsub("^[ ]+|[ ]+$","",A[1]);
gsub("^[ ]+|[ ]+$","",A[2]);
gsub("^[ ]+|[ ]+$","",A[3]);
gsub("^[ ]+|[ ]+$","",A[4]);
style="";
# weight :
#
# 50 = Light
# 75 = Book
# 80,100 = Regular,Normal,Medium
# 180 = Demi
# 200 = Bold
#
gsub("weight=","",A[4]);
if ( (A[4]+0) > 170) { style="Bold"; }
# slant :
#
# 100 = Italic
# 110 = Oblique
#
gsub("slant=","",A[3]);
if ( (A[3]+0) > 90 ) {
if ( style != "" ) {
style=style" Italic";
} else {
style="Italic";
}
}
famname= A[2];
fstyle= style;
fstyle1= style;
gsub(" ","",fstyle);
if (fstyle != "") { fstyle="-"fstyle; }
if (fstyle1 != "") { fstyle1=" "fstyle1; }
gsub(" ","-",style);
if ( style != "" ) { style="-"style; }
gsub("--","-",style);
if (( OPT1 == 1 ) || (( OPT2 == 1 ) && ( A[1] ~ /\/gsfonts|defoma|cups|ghostscript\//) ) )
{
n2= split(A[1],B,"/");
A[1]=B[n2];
}
ft="";
if ( A[1] ~ /\.(ttf|TTF)$/) {
ft="TTF-";
} else if ( A[1] ~ /\.(pf(a|b))|(PF(A|B))$/ ) {
ft="PSF-";
} else if ( A[1] ~ /\.(gsf|GSF)$/ ) {
ft="GSF-";
}
# B[n2] - short file name
# A[2] - concatenated family name
# fam - original family name
# style - concatenated style c "-"
for (i=1; i<= sans_n; i++) {
#-- Font name match -----
if (SANS[i] == A[2] ) {
#---- at higher priority ---
if (i < SANS1) {
#------ set the new priority as current ---
SANS1=i;
#------ restart the style info for the font
#------ with the higher priority
sans_styles_n= 0;
delete SANS_STYLES;
delete SANS_TYPES;
SANS_STYLES[++sans_styles_n]=style;
SANS_TYPES[sans_styles_n]=ft;
#------ continue on the current priority
} else if (i == SANS1) {
SANS_STYLES[++sans_styles_n]=style;
SANS_TYPES[sans_styles_n]=ft;
}
}
}
for (i=1; i <= serif_n; i++) {
if (SERIF[i] == A[2] ) {
if (i < SERIF1) {
SERIF1=i;
serif_styles_n= 0;
delete SERIF_STYLES;
delete SERIF_TYPES;
SERIF_STYLES[++serif_styles_n]=style;
SERIF_TYPES[serif_styles_n]=ft;
} else if (i == SERIF1) {
SERIF_STYLES[++serif_styles_n]=style;
SERIF_TYPES[serif_styles_n]=ft;
}
}
}
for (i=1; i <= mono_n; i++) {
if (MONO[i] == A[2] ) {
if (i < MONO1) {
MONO1=i;
mono_styles_n= 0;
delete MONO_STYLES;
delete MONO_TYPES;
MONO_STYLES[++mono_styles_n]=style;
MONO_TYPES[mono_styles_n]=ft;
} else if (i == MONO1) {
MONO_STYLES[++mono_styles_n]=style;
MONO_TYPES[mono_styles_n]=ft;
}
}
}
gsub(" ","-",A[2]);
if ((( OPT3 != 1 ) && ((ft == "PSF-") || (ft == "GSF-"))) || (( OPT4 != 1 ) && (ft == "TTF-"))) {
print "/"ft""A[2]""style"\t("A[1]")\t;";
print "("famname""fstyle")\t/"ft""A[2]""style"\t;" >> "/tmp/Fontmap.GS-2";
}
} END {
print "" > "/tmp/Fontmap.GS-1";
for (i=1; i <= sans_styles_n; i++) {
SANS_TYPE=""
if ((( OPT3 != 1 ) && ((SANS_TYPES[i] == "PSF-") || (SANS_TYPES[i] == "GSF-"))) || (( OPT4 != 1 ) && (SANS_TYPES[i] == "TTF-"))) {
SANS_TYPE=SANS_TYPES[i];
}
SANS_STYLE=SANS_STYLES[i];
if ( SANS_STYLE != "" ) {
gsub("-","",SANS_STYLE);
SANS_STYLE="-"SANS_STYLE;
}
gsub(" ","-",SANS[SANS1]);
print "/Sans"SANS_STYLE"\t/"SANS_TYPE""SANS[SANS1]""SANS_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1";
print "/Helvetica"SANS_STYLE"\t/"SANS_TYPE""SANS[SANS1]""SANS_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1";
}
for (i=1; i <= serif_styles_n; i++) {
SERIF_TYPE=""
if ((( OPT3 != 1 ) && ((SERIF_TYPES[i] == "PSF-") || (SERIF_TYPES[i] == "GSF-"))) || (( OPT4 != 1 ) && (SERIF_TYPES[i] == "TTF-"))) {
SERIF_TYPE=SERIF_TYPES[i];
}
SERIF_STYLE=SERIF_STYLES[i];
if ( SERIF_STYLE != "" ) {
gsub("-","",SERIF_STYLE);
SERIF_STYLE="-"SERIF_STYLE;
}
gsub(" ","-",SERIF[SERIF1]);
print "/Serif"SERIF_STYLE"\t/"SERIF_TYPE""SERIF[SERIF1]""SERIF_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1";
print "/Times"SERIF_STYLE"\t/"SERIF_TYPE""SERIF[SERIF1]""SERIF_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1";
}
for (i=1; i <= mono_styles_n; i++) {
MONO_TYPE=""
if ((( OPT3 != 1 ) && ((MONO_TYPES[i] == "PSF-") || (MONO_TYPES[i] == "GSF-"))) || (( OPT4 != 1 ) && (MONO_TYPES[i] == "TTF-"))) {
MONO_TYPE=MONO_TYPES[i];
}
MONO_STYLE=MONO_STYLES[i];
if ( MONO_STYLE != "" ) {
gsub("-","",MONO_STYLE);
MONO_STYLE="-"MONO_STYLE;
}
gsub(" ","-",MONO[MONO1]);
print "/Mono"MONO_STYLE"\t/"MONO_TYPE""MONO[MONO1]""MONO_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1";
print "/Fixed"MONO_STYLE"\t/"MONO_TYPE""MONO[MONO1]""MONO_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1";
print "/Courier"MONO_STYLE"\t/"MONO_TYPE""MONO[MONO1]""MONO_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1";
}
}' | sort -u > ./Fontmap.GS.xft
cat /tmp/Fontmap.GS-2 | sort -u >> ./Fontmap.GS.xft
cat /tmp/Fontmap.GS-1 | sort -u >> ./Fontmap.GS.xft
rm -f -- \
/tmp/Fontmap.GS-1 \
/tmp/Fontmap.GS-2 \
/tmp/serif-pref.txt \
/tmp/sans-serif-pref.txt \
/tmp/monospace-pref.txt \
/tmp/fc-list.txt
exit 0
/TTF-Arial (arial.ttf) ;
/TTF-Arial-Black (ariblk.ttf) ;
/TTF-Arial-Bold (arialbd.ttf) ;
/TTF-Arial-Bold-Italic (arialbi.ttf) ;
/TTF-Arial-Italic (ariali.ttf) ;
/TTF-Comic-Sans-MS-Bold (comicbd.ttf) ;
/TTF-Comic-Sans-MS (comic.ttf) ;
/TTF-Courier-New-Bold (courbd.ttf) ;
/TTF-Courier-New-Bold-Italic (courbi.ttf) ;
/TTF-Courier-New (cour.ttf) ;
/TTF-Courier-New-Italic (couri.ttf) ;
/TTF-Franklin-Gothic-Medium (framd.ttf) ;
/TTF-Franklin-Gothic-Medium-Italic (framdit.ttf) ;
/TTF-FreeMono-Bold (FreeMonoBold.ttf) ;
/TTF-FreeMono-Bold-Italic (FreeMonoBoldOblique.ttf) ;
/TTF-FreeMono (FreeMono.ttf) ;
/TTF-FreeMono-Italic (FreeMonoOblique.ttf) ;
/TTF-FreeSans-Bold (FreeSansBold.ttf) ;
/TTF-FreeSans-Bold-Italic (FreeSansBoldOblique.ttf) ;
/TTF-FreeSans (FreeSans.ttf) ;
/TTF-FreeSans-Italic (FreeSansOblique.ttf) ;
/TTF-FreeSerif-Bold (FreeSerifBold.ttf) ;
/TTF-FreeSerif-Bold-Italic (FreeSerifBoldItalic.ttf) ;
/TTF-FreeSerif (FreeSerif.ttf) ;
/TTF-FreeSerif-Italic (FreeSerifItalic.ttf) ;
/TTF-Georgia-Bold (georgiab.ttf) ;
/TTF-Georgia-Bold-Italic (georgiaz.ttf) ;
/TTF-Georgia (georgia.ttf) ;
/TTF-Georgia-Italic (georgiai.ttf) ;
/TTF-Impact (impact.ttf) ;
/TTF-Lucida-Console (lucon.ttf) ;
/TTF-Lucida-Sans-Unicode (l_10646.ttf) ;
/TTF-Microsoft-Sans-Serif (micross.ttf) ;
/TTF-Palatino-Linotype-Bold-Italic (palabi.ttf) ;
/TTF-Palatino-Linotype-Bold (palab.ttf) ;
/TTF-Palatino-Linotype-Italic (palai.ttf) ;
/TTF-Palatino-Linotype (pala.ttf) ;
/TTF-SylfaenARM,Sylfaen (sylfaen.ttf) ;
/TTF-Tahoma-Bold (tahomabd.ttf) ;
/TTF-Tahoma (tahoma.ttf) ;
/TTF-Times-New-Roman-Bold-Italic (timesbi.ttf) ;
/TTF-Times-New-Roman-Bold (timesbd.ttf) ;
/TTF-Times-New-Roman-Italic (timesi.ttf) ;
/TTF-Times-New-Roman (times.ttf) ;
/TTF-Trebuchet-MS-Bold-Italic (trebucbi.ttf) ;
/TTF-Trebuchet-MS-Bold (trebucbd.ttf) ;
/TTF-Trebuchet-MS-Italic (trebucit.ttf) ;
/TTF-Trebuchet-MS (trebuc.ttf) ;
/TTF-Verdana-Bold-Italic (verdanaz.ttf) ;
/TTF-Verdana-Bold (verdanab.ttf) ;
/TTF-Verdana-Italic (verdanai.ttf) ;
/TTF-Verdana (verdana.ttf) ;
(Arial Black) /TTF-Arial-Black ;
(Arial-BoldItalic) /TTF-Arial-Bold-Italic ;
(Arial-Bold) /TTF-Arial-Bold ;
(Arial-Italic) /TTF-Arial-Italic ;
(Arial) /TTF-Arial ;
(Comic Sans MS-Bold) /TTF-Comic-Sans-MS-Bold ;
(Comic Sans MS) /TTF-Comic-Sans-MS ;
(Courier New-BoldItalic) /TTF-Courier-New-Bold-Italic ;
(Courier New-Bold) /TTF-Courier-New-Bold ;
(Courier New-Italic) /TTF-Courier-New-Italic ;
(Courier New) /TTF-Courier-New ;
(Franklin Gothic Medium-Italic) /TTF-Franklin-Gothic-Medium-Italic ;
(Franklin Gothic Medium) /TTF-Franklin-Gothic-Medium ;
(FreeMono-BoldItalic) /TTF-FreeMono-Bold-Italic ;
(FreeMono-Bold) /TTF-FreeMono-Bold ;
(FreeMono-Italic) /TTF-FreeMono-Italic ;
(FreeMono) /TTF-FreeMono ;
(FreeSans-BoldItalic) /TTF-FreeSans-Bold-Italic ;
(FreeSans-Bold) /TTF-FreeSans-Bold ;
(FreeSans-Italic) /TTF-FreeSans-Italic ;
(FreeSans) /TTF-FreeSans ;
(FreeSerif-BoldItalic) /TTF-FreeSerif-Bold-Italic ;
(FreeSerif-Bold) /TTF-FreeSerif-Bold ;
(FreeSerif-Italic) /TTF-FreeSerif-Italic ;
(FreeSerif) /TTF-FreeSerif ;
(Georgia-BoldItalic) /TTF-Georgia-Bold-Italic ;
(Georgia-Bold) /TTF-Georgia-Bold ;
(Georgia-Italic) /TTF-Georgia-Italic ;
(Georgia) /TTF-Georgia ;
(Impact) /TTF-Impact ;
(Lucida Console) /TTF-Lucida-Console ;
(Lucida Sans Unicode) /TTF-Lucida-Sans-Unicode ;
(Microsoft Sans Serif) /TTF-Microsoft-Sans-Serif ;
(Palatino Linotype-BoldItalic) /TTF-Palatino-Linotype-Bold-Italic ;
(Palatino Linotype-Bold) /TTF-Palatino-Linotype-Bold ;
(Palatino Linotype-Italic) /TTF-Palatino-Linotype-Italic ;
(Palatino Linotype) /TTF-Palatino-Linotype ;
(SylfaenARM,Sylfaen) /TTF-SylfaenARM,Sylfaen ;
(Tahoma-Bold) /TTF-Tahoma-Bold ;
(Tahoma) /TTF-Tahoma ;
(Times New Roman-BoldItalic) /TTF-Times-New-Roman-Bold-Italic ;
(Times New Roman-Bold) /TTF-Times-New-Roman-Bold ;
(Times New Roman-Italic) /TTF-Times-New-Roman-Italic ;
(Times New Roman) /TTF-Times-New-Roman ;
(Trebuchet MS-BoldItalic) /TTF-Trebuchet-MS-Bold-Italic ;
(Trebuchet MS-Bold) /TTF-Trebuchet-MS-Bold ;
(Trebuchet MS-Italic) /TTF-Trebuchet-MS-Italic ;
(Trebuchet MS) /TTF-Trebuchet-MS ;
(Verdana-BoldItalic) /TTF-Verdana-Bold-Italic ;
(Verdana-Bold) /TTF-Verdana-Bold ;
(Verdana-Italic) /TTF-Verdana-Italic ;
(Verdana) /TTF-Verdana ;
/Courier-BoldItalic /TTF-Courier-New-Bold-Italic ;
/Courier-Bold /TTF-Courier-New-Bold ;
/Courier-Italic /TTF-Courier-New-Italic ;
/Courier /TTF-Courier-New ;
/Fixed-BoldItalic /TTF-Courier-New-Bold-Italic ;
/Fixed-Bold /TTF-Courier-New-Bold ;
/Fixed-Italic /TTF-Courier-New-Italic ;
/Fixed /TTF-Courier-New ;
/Helvetica-BoldItalic /TTF-Verdana-Bold-Italic ;
/Helvetica-Bold /TTF-Verdana-Bold ;
/Helvetica-Italic /TTF-Verdana-Italic ;
/Helvetica /TTF-Verdana ;
/Mono-BoldItalic /TTF-Courier-New-Bold-Italic ;
/Mono-Bold /TTF-Courier-New-Bold ;
/Mono-Italic /TTF-Courier-New-Italic ;
/Mono /TTF-Courier-New ;
/Sans-BoldItalic /TTF-Verdana-Bold-Italic ;
/Sans-Bold /TTF-Verdana-Bold ;
/Sans-Italic /TTF-Verdana-Italic ;
/Sans /TTF-Verdana ;
/Serif-BoldItalic /TTF-Times-New-Roman-Bold-Italic ;
/Serif-Bold /TTF-Times-New-Roman-Bold ;
/Serif-Italic /TTF-Times-New-Roman-Italic ;
/Serif /TTF-Times-New-Roman ;
/Times-BoldItalic /TTF-Times-New-Roman-Bold-Italic ;
/Times-Bold /TTF-Times-New-Roman-Bold ;
/Times-Italic /TTF-Times-New-Roman-Italic ;
/Times /TTF-Times-New-Roman ;
%!PS-Adobe-3.0
%%BoundingBox: 28 28 567 814
%%Creator: simple_report
%%Title:
%%Pages: (atend)
%%PageOrder: Ascend
*** "/rf" is the font loading procedure (based on a fontname & an encoding vector ) ***
/rf {
findfont
dup length dict begin
{ 1 index /FID ne
{def}
{pop pop}
ifelse
} forall
/Encoding exch def
currentdict
end
definefont pop
} bind def
/sf {
dup length 2 ge {dup dup length 3 ge
{1 2 getinterval aload pop} {1 get dup} ifelse
matrix scale } {matrix} ifelse
1 index length 4 ge {1 index 3 get matrix rotate matrix concatmatrix} if
1 index dup length 5 ge {dup 4 get} {0} ifelse /uli exch def
dup length 6 ge {5 get} {pop 0} ifelse /sou exch def
exch 0 get findfont exch makefont dup /FontMatrix get exch dup /FontBBox get
aload pop 5 index transform /asc exch def pop 3 index transform -1 mul
/desc exch def pop setfont pop
} bind def
/w {
currentfont exch 0 exch { dup length 2 ge{ dup 1 get sf}
if 0 get stringwidth pop add } forall exch setfont
} bind def
/s {
{ currentpoint /ay exch def /ax exch def dup dup length 3 ge
{dup 2 get aload pop setcolor 0 2 getinterval } if
dup length 2 eq {aload pop sf} {aload pop} ifelse
exch dup length 4 eq { [currentcolor] exch 3 get aload pop setcolor exch dup stringwidth pop
currentpoint currentpoint asc add
newpath moveto 2 index 0 rlineto 0 0 asc sub desc sub rlineto 0 3 index sub 0 rlineto
closepath fill moveto pop exch aload pop setcolor show }
{ pop show } ifelse
uli 0 ne {ul} if sou 0 ne {so} if } forall
} bind def
/slt {
asc sub 3 index exch moveto currentpoint /ay exch def /ax exch def pop pop pop s
} bind def
/cy {
2 index sub dup 0 eq
{pop 1 index}
{asc sub desc sub 2 div 2 index add desc add}
ifelse} bind def
/sl {
cy 3 index exch moveto
pop pop pop s
} bind def
/sr { cy exch 4 index
w sub exch moveto pop pop s
} bind def
/sc {
cy 4 index w 4 index 3 index exch sub exch sub 2 div 4 index add
exch moveto
pop pop pop s
} bind def
/slb {
pop pop desc add moveto s
} bind def
/srb {
4 index w 2 index exch sub 3 index desc add moveto
pop pop pop pop s} bind def
/srt {
4 index w 2 index exch sub exch asc sub moveto
pop pop pop s} bind def
/st {
4 index w 4 index 3 index exch sub exch sub 2 div 4 index add
exch asc sub moveto pop pop pop s
} bind def
/sb {
4 index w 4 index 3 index exch sub exch sub 2 div 4 index add
3 index desc add moveto pop pop pop pop s
} bind def
/ul {
gsave desc 4 div setlinewidth 0 setlinecap [] 0 setdash currentpoint desc 2 div sub
dup 2 index exch moveto ax exch lineto stroke pop grestore} bind def
/so { gsave desc 4 div setlinewidth 0 setlinecap [] 0 setdash currentpoint
asc desc add 2 div add desc sub dup 2 index exch moveto ax exch lineto stroke pop grestore
} bind def
/tab { currentpoint pop 2 index sub 1 index 0.01 add add 1 index div floor mul add
} bind def
%%Page: 1 1
initmatrix
0 setgray
*** The encoding vector for Latin chars ***
/E00 [
/uni0000 /uni0001 /uni0002 /uni0003 /uni0004 /uni0005 /uni0006 /uni0007
/uni0008 /uni0009 /uni000A /uni000B /uni000C /uni000D /uni000E /uni000F
/uni0010 /uni0011 /uni0012 /uni0013 /uni0014 /uni0015 /uni0016 /uni0017
/uni0018 /uni0019 /uni001A /uni001B /uni001C /uni001D /uni001E /uni001F
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle
/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
/grave /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 /uni007F
/uni0080 /uni0081 /uni0082 /uni0083 /uni0084 /uni0085 /uni0086 /uni0087
/uni0088 /uni0089 /uni008A /uni008B /uni008C /uni008D /uni008E /uni008F
/uni0090 /uni0091 /uni0092 /uni0093 /uni0094 /uni0095 /uni0096 /uni0097
/uni0098 /uni0099 /uni009A /uni009B /uni009C /uni009D /uni009E /uni009F
/uni00A0 /exclamdown /cent /sterling /currency /yen /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /uni00AD /registered /macron
/degree /plusminus /uni00B2 /uni00B3 /acute /uni00B5 /paragraph /periodcentered
/cedilla /uni00B9 /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown
/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
] def
*** /F000 = font "Times New Roman-Bold" for Latin text
/F000 E00 (Times New Roman-Bold) rf
[/F000 13.228] sf
initclip [ 170.079 807.874 259.843 -41.575] rectclip
[[(LIST OF THE MOST GUILTY PRISONERS) [/F000 13.228]]] 170.079 791.811 429.921 807.874 sc
[[(OF THE WORLD) [/F000 13.228]]] 170.079 775.748 429.921 791.811 sc
0.878 setgray
initclip [ 34.016 766.299 529.134 -29.291] rectclip
newpath 34.016 766.299 moveto 563.15 766.299 lineto 563.15 737.008 lineto 34.016 737.008 lineto closepath fill
0 setgray
*** The encoding vector for Math chars ***
/E21 [
/uni2100 /uni2101 /uni2102 /uni2103 /uni2104 /afii61248 /uni2106 /uni2107
/uni2108 /uni2109 /uni210A /uni210B /uni210C /uni210D /uni210E /uni210F
/uni2110 /Ifraktur /uni2112 /afii61289 /uni2114 /uni2115 /afii61352 /uni2117
/weierstrass /uni2119 /uni211A /uni211B /Rfraktur /uni211D /prescription /uni211F
/uni2120 /uni2121 /trademark /uni2123 /uni2124 /uni2125 /uni2126 /uni2127
/uni2128 /uni2129 /uni212A /uni212B /uni212C /uni212D /estimated /uni212F
/uni2130 /uni2131 /uni2132 /uni2133 /uni2134 /aleph /uni2136 /uni2137
/uni2138 /uni2139 /uni213A /uni213B /uni213C /uni213D /uni213E /uni213F
/uni2140 /uni2141 /uni2142 /uni2143 /uni2144 /uni2145 /uni2146 /uni2147
/uni2148 /uni2149 /uni214A /uni214B /uni214C /uni214D /uni214E /uni214F
/uni2150 /uni2151 /uni2152 /onethird /twothirds /uni2155 /uni2156 /uni2157
/uni2158 /uni2159 /uni215A /oneeighth /threeeighths /fiveeighths /seveneighths /uni215F
/uni2160 /uni2161 /uni2162 /uni2163 /uni2164 /uni2165 /uni2166 /uni2167
/uni2168 /uni2169 /uni216A /uni216B /uni216C /uni216D /uni216E /uni216F
/uni2170 /uni2171 /uni2172 /uni2173 /uni2174 /uni2175 /uni2176 /uni2177
/uni2178 /uni2179 /uni217A /uni217B /uni217C /uni217D /uni217E /uni217F
/uni2180 /uni2181 /uni2182 /uni2183 /uni2184 /uni2185 /uni2186 /uni2187
/uni2188 /uni2189 /uni218A /uni218B /uni218C /uni218D /uni218E /uni218F
/arrowleft /arrowup /arrowright /arrowdown /arrowboth /arrowupdn /uni2196 /uni2197
/uni2198 /uni2199 /uni219A /uni219B /uni219C /uni219D /uni219E /uni219F
/uni21A0 /uni21A1 /uni21A2 /uni21A3 /uni21A4 /uni21A5 /uni21A6 /uni21A7
/arrowupdnbse /uni21A9 /uni21AA /uni21AB /uni21AC /uni21AD /uni21AE /uni21AF
/uni21B0 /uni21B1 /uni21B2 /uni21B3 /uni21B4 /carriagereturn /uni21B6 /uni21B7
/uni21B8 /uni21B9 /uni21BA /uni21BB /uni21BC /uni21BD /uni21BE /uni21BF
/uni21C0 /uni21C1 /uni21C2 /uni21C3 /uni21C4 /uni21C5 /uni21C6 /uni21C7
/uni21C8 /uni21C9 /uni21CA /uni21CB /uni21CC /uni21CD /uni21CE /uni21CF
/arrowdblleft /arrowdblup /arrowdblright /arrowdbldown /arrowdblboth /uni21D5 /uni21D6 /uni21D7
/uni21D8 /uni21D9 /uni21DA /uni21DB /uni21DC /uni21DD /uni21DE /uni21DF
/uni21E0 /uni21E1 /uni21E2 /uni21E3 /uni21E4 /uni21E5 /uni21E6 /uni21E7
/uni21E8 /uni21E9 /uni21EA /uni21EB /uni21EC /uni21ED /uni21EE /uni21EF
/uni21F0 /uni21F1 /uni21F2 /uni21F3 /uni21F4 /uni21F5 /uni21F6 /uni21F7
/uni21F8 /uni21F9 /uni21FA /uni21FB /uni21FC /uni21FD /uni21FE /uni21FF
] def
*** /F210 = font "Times New Roman-Bold" for Math text
/F210 E21 (Times New Roman-Bold) rf
[[(\026) [/F210 13.228]]] 34.016 737.008 62.362 766.299 sc
[[(Name) [/F000 13.228]]] 62.362 737.008 232.441 766.299 sc
[[(Term) [/F000 13.228]]] 232.441 737.008 331.654 766.299 sc
[[(Arrest reason) [/F000 13.228]]] 331.654 737.008 459.213 766.299 sc
[[(Prison) [/F000 13.228]]] 459.213 737.008 563.15 766.299 sc
[] 0 setdash
0.567 setlinewidth
2 setlinecap
0 setlinejoin
initclip [ -910.866 1711.181 2418.898 -1919.055] rectclip
newpath 34.016 737.008 moveto 34.016 766.299 lineto stroke
[] 0 setdash
2 setlinecap
newpath 62.362 737.008 moveto 62.362 766.299 lineto stroke
[] 0 setdash
2 setlinecap
newpath 232.441 737.008 moveto 232.441 766.299 lineto stroke
[] 0 setdash
2 setlinecap
newpath 331.654 737.008 moveto 331.654 766.299 lineto stroke
[] 0 setdash
2 setlinecap
newpath 459.213 737.008 moveto 459.213 766.299 lineto stroke
[] 0 setdash
2 setlinecap
newpath 563.15 737.008 moveto 563.15 766.299 lineto stroke
[] 0 setdash
2 setlinecap
newpath 34.016 766.299 moveto 563.15 766.299 lineto stroke
[] 0 setdash
2 setlinecap
newpath 34.016 737.008 moveto 563.15 737.008 lineto stroke
*** /F001 = font "Times New Roman" for Latin text
/F001 E00 (Times New Roman) rf
[/F001 13.228] sf
initclip [ 34.016 737.008 529.134 -16.063] rectclip
[[(1) [/F001 13.228]]] 34.016 720.945 62.362 737.008 sc
[[(Captain Morgan) [/F001 13.228]]] 68.031 720.945 232.441 737.008 sl
[[(99.00) [/F001 13.228]]] 238.11 720.945 328.819 737.008 sc
[[(too loves gold) [/F001 13.228]]] 337.323 720.945 459.213 737.008 sl
[[(Guantanamo) [/F001 13.228]]] 464.882 720.945 563.15 737.008 sl
[] 0 setdash
0.283 setlinewidth
2 setlinecap
initclip [ -910.866 1681.89 2418.898 -1905.827] rectclip
newpath 34.016 720.945 moveto 34.016 737.008 lineto stroke
[] 0 setdash
2 setlinecap
newpath 62.362 720.945 moveto 62.362 737.008 lineto stroke
[] 0 setdash
2 setlinecap
newpath 232.441 720.945 moveto 232.441 737.008 lineto stroke
[] 0 setdash
2 setlinecap
newpath 331.654 720.945 moveto 331.654 737.008 lineto stroke
[] 0 setdash
2 setlinecap
newpath 459.213 720.945 moveto 459.213 737.008 lineto stroke
[] 0 setdash
0.567 setlinewidth
2 setlinecap
newpath 34.016 720.945 moveto 34.016 737.008 lineto stroke
[] 0 setdash
2 setlinecap
newpath 563.15 720.945 moveto 563.15 737.008 lineto stroke
[] 0 setdash
0.283 setlinewidth
2 setlinecap
newpath 34.016 720.945 moveto 563.15 720.945 lineto stroke
initclip [ 34.016 720.945 529.134 -28.346] rectclip
[[(2) [/F001 13.228]]] 34.016 692.598 62.362 720.945 sc
*** The encoding vector for Russian chars ***
/E04 [
/uni0400 /afii10023 /afii10051 /afii10052 /afii10053 /afii10054 /afii10055 /afii10056
/afii10057 /afii10058 /afii10059 /afii10060 /afii10061 /uni040D /afii10062 /afii10145
/afii10017 /afii10018 /afii10019 /afii10020 /afii10021 /afii10022 /afii10024 /afii10025
/afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031 /afii10032 /afii10033
/afii10034 /afii10035 /afii10036 /afii10037 /afii10038 /afii10039 /afii10040 /afii10041
/afii10042 /afii10043 /afii10044 /afii10045 /afii10046 /afii10047 /afii10048 /afii10049
/afii10065 /afii10066 /afii10067 /afii10068 /afii10069 /afii10070 /afii10072 /afii10073
/afii10074 /afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080 /afii10081
/afii10082 /afii10083 /afii10084 /afii10085 /afii10086 /afii10087 /afii10088 /afii10089
/afii10090 /afii10091 /afii10092 /afii10093 /afii10094 /afii10095 /afii10096 /afii10097
/uni0450 /afii10071 /afii10099 /afii10100 /afii10101 /afii10102 /afii10103 /afii10104
/afii10105 /afii10106 /afii10107 /afii10108 /afii10109 /uni045D /afii10110 /afii10193
/uni0460 /uni0461 /afii10146 /afii10194 /uni0464 /uni0465 /uni0466 /uni0467
/uni0468 /uni0469 /uni046A /uni046B /uni046C /uni046D /uni046E /uni046F
/uni0470 /uni0471 /afii10147 /afii10195 /afii10148 /afii10196 /uni0476 /uni0477
/uni0478 /uni0479 /uni047A /uni047B /uni047C /uni047D /uni047E /uni047F
/uni0480 /uni0481 /uni0482 /uni0483 /uni0484 /uni0485 /uni0486 /uni0487
/uni0488 /uni0489 /uni048A /uni048B /uni048C /uni048D /uni048E /uni048F
/afii10050 /afii10098 /uni0492 /uni0493 /uni0494 /uni0495 /uni0496 /uni0497
/uni0498 /uni0499 /uni049A /uni049B /uni049C /uni049D /uni049E /uni049F
/uni04A0 /uni04A1 /uni04A2 /uni04A3 /uni04A4 /uni04A5 /uni04A6 /uni04A7
/uni04A8 /uni04A9 /uni04AA /uni04AB /uni04AC /uni04AD /uni04AE /uni04AF
/uni04B0 /uni04B1 /uni04B2 /uni04B3 /uni04B4 /uni04B5 /uni04B6 /uni04B7
/uni04B8 /uni04B9 /uni04BA /uni04BB /uni04BC /uni04BD /uni04BE /uni04BF
/uni04C0 /uni04C1 /uni04C2 /uni04C3 /uni04C4 /uni04C5 /uni04C6 /uni04C7
/uni04C8 /uni04C9 /uni04CA /uni04CB /uni04CC /uni04CD /uni04CE /uni04CF
/uni04D0 /uni04D1 /uni04D2 /uni04D3 /uni04D4 /uni04D5 /uni04D6 /uni04D7
/uni04D8 /afii10846 /uni04DA /uni04DB /uni04DC /uni04DD /uni04DE /uni04DF
/uni04E0 /uni04E1 /uni04E2 /uni04E3 /uni04E4 /uni04E5 /uni04E6 /uni04E7
/uni04E8 /uni04E9 /uni04EA /uni04EB /uni04EC /uni04ED /uni04EE /uni04EF
/uni04F0 /uni04F1 /uni04F2 /uni04F3 /uni04F4 /uni04F5 /uni04F6 /uni04F7
/uni04F8 /uni04F9 /uni04FA /uni04FB /uni04FC /uni04FD /uni04FE /uni04FF
] def
*** /F041 = font "Times New Roman" for Russian text ***
/F041 E04 (Times New Roman) rf
*** writting text with fonts /F041 and /F001 ***
[[(\021>@8A) [/F041 13.228]][( ) [/F001 13.228]][(\025;LF8=) [/F041 13.228]]] 68.031 692.598 232.441 720.945 sl
[[(7.00) [/F001 13.228]]] 238.11 692.598 328.819 720.945 sc
[
[(?>) [/F041 13.228]][(-) [/F001 13.228]][(?LO=5) [/F041 13.228]][( ) [/F001 13.228]][(@0A?@>40;) [/F041 13.228]]] 337.323 706.772 459.213 719.055 sl
[[( >AA8N) [/F041 13.228]]] 337.323 694.488 459.213 706.772 sl
[[(Tash-Tyurma) [/F001 13.228]]] 464.882 692.598 563.15 720.945 sl
[] 0 setdash
0.283 setlinewidth
2 setlinecap
initclip [ -910.866 1665.827 2418.898 -1918.11] rectclip
newpath 34.016 692.598 moveto 34.016 720.945 lineto stroke
[] 0 setdash
2 setlinecap
newpath 62.362 692.598 moveto 62.362 720.945 lineto stroke
[] 0 setdash
2 setlinecap
newpath 232.441 692.598 moveto 232.441 720.945 lineto stroke
[] 0 setdash
2 setlinecap
newpath 331.654 692.598 moveto 331.654 720.945 lineto stroke
[] 0 setdash
2 setlinecap
newpath 459.213 692.598 moveto 459.213 720.945 lineto stroke
[] 0 setdash
0.567 setlinewidth
2 setlinecap
newpath 34.016 692.598 moveto 34.016 720.945 lineto stroke
[] 0 setdash
2 setlinecap
newpath 563.15 692.598 moveto 563.15 720.945 lineto stroke
[] 0 setdash
0.283 setlinewidth
2 setlinecap
newpath 34.016 692.598 moveto 563.15 692.598 lineto stroke
[/F000 13.228] sf
initclip [ 34.016 692.598 529.134 -23.622] rectclip
[[() [/F000 13.228]]] 34.016 668.976 62.362 692.598 sl
[[(The average term :) [/F000 13.228]]] 62.362 668.976 232.441 692.598 sr
[[(53.00) [/F000 13.228]]] 232.441 668.976 331.654 692.598 sc
[[() [/F000 13.228]]] 331.654 668.976 459.213 692.598 sl
[[() [/F000 13.228]]] 459.213 668.976 563.15 692.598 sl
[] 0 setdash
0.567 setlinewidth
2 setlinecap
initclip [ -910.866 1637.48 2418.898 -1913.386] rectclip
newpath 34.016 668.976 moveto 34.016 692.598 lineto stroke
[] 0 setdash
2 setlinecap
newpath 563.15 668.976 moveto 563.15 692.598 lineto stroke
[] 0 setdash
2 setlinecap
newpath 34.016 692.598 moveto 563.15 692.598 lineto stroke
[] 0 setdash
2 setlinecap
newpath 34.016 668.976 moveto 563.15 668.976 lineto stroke
[/F001 13.228] sf
initclip [ 34.016 668.976 529.134 -33.071] rectclip
[[(Prepared by) [/F001 13.228]]] 34.016 635.906 130.394 659.528 sr
[[() [/F001 13.228]]] 133.228 635.906 243.78 659.528 sl
[[() [/F001 13.228]]] 246.614 635.906 560.315 659.528 sl
[] 0 setdash
0.567 setlinewidth
2 setlinecap
initclip [ -910.866 1613.858 2418.898 -1922.835] rectclip
newpath 133.228 635.906 moveto 246.614 635.906 lineto stroke
initclip [ 430.866 651.969 97.323 -16.063] rectclip
[[(14.01.2008 22:58) [/F001 13.228]]] 430.866 635.906 528.189 651.969 sl
showpage
%%Trailer
%%Pages: 1
%%EOF
alexs писал(а):также обрати внимание на функцию
- Код: Выделить всё
function TPostScriptPrinterCanvas.MappedFontName: string;
alexs писал(а):а в fontmap.gs как русский шрифт называется?
printer.begindoc;
printer.canvas.font.name:='sansertif';
// printer.canvas.Font.CharSet:=cleaner.font.charset;
printer.canvas.Font.size:=12;
printer.canvas.MoveTo(0,0);
printer.canvas.LineTo(shir,0);
// UTF-8
printer.canvas.textout(0,2,'abcdefgh_абвгдежз_1234567890');
// 1251
printer.canvas.textout(0,15,'abcdefgh_AÃŅLJ_1234567890');
printer.canvas.font.name:='times';
// UTF-8
printer.canvas.textout(0,50,'abcdefgh_абвгдежз_1234567890');
// 1251
printer.canvas.textout(0,65,'abcdefgh_AÃŅLJ_1234567890');
printer.canvas.font.name:='courier';
// UTF-8
printer.canvas.textout(0,100,'abcdefgh_абвгдежз_1234567890');
// 1251
printer.canvas.textout(0,115,'abcdefgh_AÃŅLJ_1234567890');
debi12345 писал(а):Системная - UTF-8
===========
Напечатайте в PS-файл одну короткую русскую строчку и выложите здесь содержимое получившегося файла.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27