Question
MakeOTF Error: could not find FontName in FontDict
I am trying to convert a symbol font I constructed and have been using in PostScript programs to OpenType. I have included a cut-down version (only two characters) in this message.
When I try to convert the (cut-down) font with MakeOTF I get the message:
[makeotf] Error: could not find FontName in FontDict of file GPSymbolcut.pfa.
Can you tell me what the error message indicates here, please? I feel that the FontName is included!
This is the file GPSymbolcut.pfa:
%!PS-Adobe-2.0
%%Title: GPSymbol Font
%%CreationDate: Thu Feb 14 10:59:25 2008
%%EndComments
/setpacking where{/cpack currentpacking def
pop true setpacking}if
/bd{bind def}bind def
/bp{bind put}bd
/xd{exch def}bd
/dc{/bits xd
/name xd
/num xd
num 256 lt{Encoding num name put}if
CharStrings name bits put}bd
/fsd 15 dict def fsd begin
/FontType 3 def
/FontMatrix [0.001 0 0 0.001 0 0] def
/FontBBox [-55 -55 1000 786] def
/FontName /GPSymbol def
/PaintType 0 def
% /UniqueID 0 def
/FontInfo 10 dict dup begin
/OutlineResolution 1000 def
/Notice () def
/FullName (GPSymbol) def
/FamilyName (GPSymbol) def
/Weight (Regular) def
/version (0.0) def
/ItalicAngle 0 def
/isFixedPitch false def
/UnderlinePosition 0 def
/UnderlineThickness 0 def
end def
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } for
Encoding
dup (W) 0 get /sunsymbol put
(z) 0 get /crossbox put
/Metrics 50 dict def
Metrics begin
/.notdef 0 def
/crossbox 833 def
/sunsymbol 833 def
end
/BBox 50 dict def
BBox begin
/.notdef [0 0 0 0] def
/crossbox [60 0 760 700] def
/sunsymbol [60 0 760 700] def
end
/CharacterDefs 50 dict def
CharacterDefs begin
/.notdef {} def
/crossbox
{ newpath
60 setlinewidth
90 30 moveto 90 670 lineto
730 670 lineto 730 30 lineto
closepath stroke
90 30 moveto 730 670 lineto stroke
90 670 moveto 730 30 lineto
stroke } def
/sunsymbol
{ 30 setlinewidth
newpath 350 350 200 0 180 arc 350 350 200 180 0 arc closepath stroke
newpath 350 654 50 0 180 arc 350 654 50 180 0 arc closepath fill
newpath 502 613 50 0 180 arc 502 613 50 180 0 arc closepath fill
newpath 613 502 50 0 180 arc 613 502 50 180 0 arc closepath fill
newpath 654 350 50 0 180 arc 654 350 50 180 0 arc closepath fill
newpath 613 198 50 0 180 arc 613 198 50 180 0 arc closepath fill
newpath 502 87 50 0 180 arc 502 87 50 180 0 arc closepath fill
newpath 350 50 50 0 180 arc 350 50 50 180 0 arc closepath fill
newpath 198 87 50 0 180 arc 198 87 50 180 0 arc closepath fill
newpath 87 198 50 0 180 arc 87 198 50 180 0 arc closepath fill
newpath 50 350 50 0 180 arc 50 350 50 180 0 arc closepath fill
newpath 87 502 50 0 180 arc 87 502 50 180 0 arc closepath fill
newpath 198 613 50 0 180 arc 198 613 50 180 0 arc closepath fill
} def
end
/BuildChar
{ 0 begin
/char exch def
/fontdict exch def
/charname fontdict /Encoding get char get def
fontdict begin
Metrics charname get 0
BBox charname get aload pop
setcachedevice
CharacterDefs charname get exec
end
end
} def
/BuildChar load 0 3 dict put
end
/GPSymbol fsd definefont pop
/setpacking where{pop cpack setpacking}if
When I try to convert the (cut-down) font with MakeOTF I get the message:
[makeotf] Error: could not find FontName in FontDict of file GPSymbolcut.pfa.
Can you tell me what the error message indicates here, please? I feel that the FontName is included!
This is the file GPSymbolcut.pfa:
%!PS-Adobe-2.0
%%Title: GPSymbol Font
%%CreationDate: Thu Feb 14 10:59:25 2008
%%EndComments
/setpacking where{/cpack currentpacking def
pop true setpacking}if
/bd{bind def}bind def
/bp{bind put}bd
/xd{exch def}bd
/dc{/bits xd
/name xd
/num xd
num 256 lt{Encoding num name put}if
CharStrings name bits put}bd
/fsd 15 dict def fsd begin
/FontType 3 def
/FontMatrix [0.001 0 0 0.001 0 0] def
/FontBBox [-55 -55 1000 786] def
/FontName /GPSymbol def
/PaintType 0 def
% /UniqueID 0 def
/FontInfo 10 dict dup begin
/OutlineResolution 1000 def
/Notice () def
/FullName (GPSymbol) def
/FamilyName (GPSymbol) def
/Weight (Regular) def
/version (0.0) def
/ItalicAngle 0 def
/isFixedPitch false def
/UnderlinePosition 0 def
/UnderlineThickness 0 def
end def
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } for
Encoding
dup (W) 0 get /sunsymbol put
(z) 0 get /crossbox put
/Metrics 50 dict def
Metrics begin
/.notdef 0 def
/crossbox 833 def
/sunsymbol 833 def
end
/BBox 50 dict def
BBox begin
/.notdef [0 0 0 0] def
/crossbox [60 0 760 700] def
/sunsymbol [60 0 760 700] def
end
/CharacterDefs 50 dict def
CharacterDefs begin
/.notdef {} def
/crossbox
{ newpath
60 setlinewidth
90 30 moveto 90 670 lineto
730 670 lineto 730 30 lineto
closepath stroke
90 30 moveto 730 670 lineto stroke
90 670 moveto 730 30 lineto
stroke } def
/sunsymbol
{ 30 setlinewidth
newpath 350 350 200 0 180 arc 350 350 200 180 0 arc closepath stroke
newpath 350 654 50 0 180 arc 350 654 50 180 0 arc closepath fill
newpath 502 613 50 0 180 arc 502 613 50 180 0 arc closepath fill
newpath 613 502 50 0 180 arc 613 502 50 180 0 arc closepath fill
newpath 654 350 50 0 180 arc 654 350 50 180 0 arc closepath fill
newpath 613 198 50 0 180 arc 613 198 50 180 0 arc closepath fill
newpath 502 87 50 0 180 arc 502 87 50 180 0 arc closepath fill
newpath 350 50 50 0 180 arc 350 50 50 180 0 arc closepath fill
newpath 198 87 50 0 180 arc 198 87 50 180 0 arc closepath fill
newpath 87 198 50 0 180 arc 87 198 50 180 0 arc closepath fill
newpath 50 350 50 0 180 arc 50 350 50 180 0 arc closepath fill
newpath 87 502 50 0 180 arc 87 502 50 180 0 arc closepath fill
newpath 198 613 50 0 180 arc 198 613 50 180 0 arc closepath fill
} def
end
/BuildChar
{ 0 begin
/char exch def
/fontdict exch def
/charname fontdict /Encoding get char get def
fontdict begin
Metrics charname get 0
BBox charname get aload pop
setcachedevice
CharacterDefs charname get exec
end
end
} def
/BuildChar load 0 3 dict put
end
/GPSymbol fsd definefont pop
/setpacking where{pop cpack setpacking}if
