how to use abcpdf in c# : Edit pdf metadata control application platform web page azure html web browser tlgc2extra1-part269

CH A P T E R
21
PostScript fonts and beyond
Inthischapterwelookatthemostbasictypeofgraphicalobjectindocuments:thecharactersthat
formthewords.Charactershapes(“glyphs”)arenotadirectpartoftheT
E
Xsystem;allT
E
Xwantsto
knowaboutthemissomemetricinformation,suchastheirwidthorheight.Itisthetaskofthepost-
processingstage(thebackendofpdfT
E
Xoradevicedriver,suchas
dvips
whichreadsthe
.dvi
fileas
outputbyT
E
X)toproducetheactualgraphicalrepresentationofthepage.Forthisstageinformation
abouttheactualshapesofthecharactersisneededandthisinformationisstoredinso-calledfonts
(collectionsofcharacters)forwhichmanydifferentstorageformatsexist.usinprincipleanyexist-
ingfontcanbeusedwithT
E
XprovidedthatthemetricinformationT
E
Xneedsisavailableorcanbe
generatedandthataprocedureexiststhatunderstandstheformatinwhichthefontsarestoredand
caninsertitintotheoutputfile.
DonaldKnuthdevelopedacompanionprogramtoT
E
X,MetaFont,forgeneratingfontstobeused
withT
E
X(Chapter3ofĸ eLaTeXGraphicsCompanionlookedbrieflyatMetaFont’sdrawingcapabil-
ities).ForquitesometimeonlyfontsdesignedwithMetaFontwereavailabletoT
E
Xusers,withthe
resultthatT
E
XorL
A
T
E
Xdocumentshadaneasilyidentifiedlookandfeel—mainlyaresultoftheuseof
theComputerModernfonts.GiventhattheT
E
Xcommunityisverysmallcomparedtothatofother
typesettingsystemsveryfewfontdesignershaveproducedfontsinMetaFont.erefore,accessfor
T
E
Xenginestotheliterallythousandsoffontsavailablecommerciallyinotherformats,inparticular
PostScript,TrueType,and,morerecently,OpenType,hasbecomeamust.
AlthoughatthebeginningitwasquitedifficulttointegratePostScriptfontsintoLAT
E
Xpackages,
thereleaseofLAT
E
X2
ε
anditsnewfontselectionscheme(NFSS,seeChapter7of[15])madeaccessing
thelargesetofPostScriptfontsmorestraighforward.Nowadays,documentsroutinelycombineT
E
X’s
superiortypesettingqualitywithalltheprofessionallydesignedtypefacesproduced,mainlyinPost-
Script,butalsoinTrueTypeandOpenType.ecurrentchapterwillintroduceyoutosolutionsto
achievethisinaconvenientway.
Aerahistoricoverviewofmodernfonttechnologies,includingabriefdescriptionoftheirre-
spectivetechnicalcapabilities,wetakeacloserlookatthebasicissuesconcernedwithtypesettingand
howT
E
XandPostScript,workingtogether,addressthisproblem(howmetricinformationishandled,
thedifferenttypesofT
E
XandPostScriptfonts,howtheyareencoded,i.e.,howonecanaccessindivid-
ualcharactersofafont,etc.)Wethenexplainhowyoucanusethe“basic”PostScriptfonts,astheyare
definedinthe
PSNFSS
system(acollectionofsmallpackagesandaccompanyingfilesforL
A
T
E
X),which
makesiteasytousealargenumberofcommonPostScriptfontsoutofthebox)andhowtoeasilydown-
Edit pdf metadata - add, remove, update PDF metadata in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata
remove pdf metadata online; pdf metadata online
Edit pdf metadata - VB.NET PDF metadata library: add, remove, update PDF metadata in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
metadata in pdf documents; pdf metadata extract
21
POSTSCRIPTFONTSANDBEYOND
loadandinstallafewinstancesoffreelyavailablefonts.Weextendthediscussiontowheretodownload
andinstalltheLAT
E
Xsupportfilesforcommerciallyavailablefontsthatyoumighthavebought.Since
manyLAT
E
XusershavedefactoaccesstoalotofTrueTypefontsthatcomewiththeiroperatingsystem,
wedevotethenextsectiontotheuseofTrueTypefontswith
pdflatex
,inparticularhowonecanuse
alargeUnicodeTrueTypefontfortypesettinginmanydifferentscriptsandlanguages.Wearethen
readytodiscussafewrecentL
A
T
E
Xpackageswhichtakeadvantageoftheenrichedpossibilitiesofthe
OpenTypetechnology.WeendthechapterwithadiscussionofFontname,alsoknowasthe“Berry”
fontnamingscheme,whichisimportanttouniquelyidentifyandhandleallL
A
T
E
Xsupportfilesofthe
largenumberoffontsthatareavailableoncurrentoperatingsystem.
21.1 Fontformats:anoverview
ecurrentmainfontformatsarePostScriptType1(Type1),TrueType(TT),andOpenType(OT),an
integratedsupersetofthefirsttwo.Allthreearebasedonfontoutlinetechnologies,aremulti-platform,
andhavetheirtechnicalspecificationsopenlyavailable.eseformatscanberunonanyrecentcom-
puterplatformandtheircharacteroutlines(“glyphs”)aredescribedmathematicallyasfunctionsop-
eratingonpoints,linesandcurves.echaracterrepresentationsareresolutionindependentandcan
bescaledtoanysize.esetechnologiesimplement“hinting”byassociatingadditionalinformation
witheachcharactertohelptherasterizationengineoptimizetheirrepresentationonanygivenoutput
device.
21.1.1 Abriefhistory
21.1.1.1 AdobeanditsPostScriptType1
WhenAdobelaunchedPostScriptin1984,itsupportedtwodifferenttypesoffontsformats:Type1,¹
themoresophisticatedonewithsupportforhintinganddatacompression,andType3,amoregeneral
(almostallPostScriptgraphicsoperatorsareallowed)butlessoptimizedvariant.AtfirstAdobedidnot
publishthespecificationofitsPostScriptType1format(theType3specwaspublic),whichhelped
Adobetakealargepartofthecommercialtypographymarketbutupsettheotherfontfoundries.
Apple,whichalsowasfoundedintheearlynineteeneighties,adoptedPostScriptaspagedescrip-
tionlanguageforitsAppleLaserWriterprinterin1985.Soonalsootherhigh-endimagesettingma-
chinesadoptedPostScriptastheirnativelanguage.Ataboutthesametimetheintroductionofaf-
fordabledesktoppublishingsoware,suchas
Pagemaker
,
Freehand
,setoffarevolutioninpagelayout
technology,andPostScriptbackendsappearedformostgraphicsprograms,thusaddingtothepoten-
tialmarketforprofessionalPostScriptType1fonts.Becauseofitsreliability,itswideselectionoffonts
available,itscleverrasterizingengineandsuperiorhintingmechanism,historicallyPostScripthasbeen
thepreferredfontformatofprofessionaldesigners,publishersandprintshops.
ConcurrentlyAdobehaddevelopedan“interactive”versionofPostScript,calledDisplayPostScript,
thatran(somewhatslowly)onpersonalcomputerstoallowdisplayingPostScriptdataon-screen.Al-
thoughsomecomputermanufacturersagreedtotakeout(andpay)sowarelicences,AppleandMi-
crosowerequiteunwillingtopaytheroyaltiesrequestedbyAdobeand,moreover,tohandcontrolto
Adobeoveravitalpartoftheiroperatingsystem.
Inthefirstpartofthe1990sAdobealsodevelopedthePostScriptType1multiplemaster(MM)
formatasanextensionofPostScriptType1.Essentially,itallowstwo(ormore)designvariationstobe
encodedonagivendesignaxis(suchasweight,width,opticalsize).Aerwards,anyin-betweenstate
(instance)maybegeneratedbytheuserasrequired.²
¹Seehttp://partners.adobe.com/public/developer/en/font/T1_SPEC.PDF.
²etechnologyneverreallytookoffandsince2000Adobehasabandoneddevelopingmultiplemasterfontssincemost
2
ch-psextra1.tex,v:2.24
2007/08/14
How to C#: Modify Image Metadata (tag)
edit, C#.NET PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET search text in PDF, C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET
bulk edit pdf metadata; remove metadata from pdf
C# TIFF: TIFF Metadata Editor, How to Write & Read TIFF Metadata
Tiff ›› C# Tiff: Edit Tiff Metadata. C# TIFF - Edit TIFF Metadata in C#.NET. Allow Users to Read and Edit Metadata Stored in Tiff Image in C#.NET Application.
pdf metadata editor online; analyze pdf metadata
21.1 Fontformats:anoverview
21.1.1.2 TrueTypefonts
emajorsystemsowarevendors(Apple,Microso,IBM)hadbeenthinkingaboutscaleablefont
technologysupportattheleveloftheirrespectiveoperatingsystemssincetheyrealizedthatitwould
guaranteemuchbetterscreendisplay,comparedtopre-generatedbitmapswhichonlylookgoodattheir
designsizes,andunacceptablyjaggedatallothers.Forinstanceinthelate1980sApplehaddevelopedan
in-housescaleablefonttechnology,Royal,laterrenamedtoTrueType.¹eTrueTypespecificationwas
publicandalreadyin1991nativeTrueTypesupportappearedinApple’sMacSystem7andMicroso’s
Windows3.1.
TrueTypefontsuseadifferentoutlinemodelfromPostScript,andalsotheapproachtohinting
isdifferent.efontinstancescontainbothscreenandprinterfontdatainasinglecomponent.is
makesthefontseasytoinstall.AlthoughTrueTypefontssupportUnicodeandcantheoreticallycontain
over65.000characters,theyrarelyfeaturemorethatsome220characters.Moreover,TrueTypefont
formatsareplatform-dependent.
21.1.1.3 Twocompetingtechnologies
AdobereactedtotheadventofTrueTypebypublishingin1990thePostScriptType1fontformat
specification[1].Afewyearslater,itintroducedtheAdobeTypeManager(ATM)soware,whichscales
PostScriptType1fontsforscreendisplay,andsupportsimagingonnon-PostScriptprinters.
usbytheendofthe1990sthereweretwowidely-usedoutlinefontspecifications,TrueType,
builtintotheoperatingsystemsusedbymostdesktopcomputers,andPostScriptType1,thedefacto
standardforthegraphicartsandthepublishingindustry.Moreover,astimewentby,thepractical
differenceshadbeguntoblur.Ontheonehand,supportforTrueTypebecamestandardinPostScript
3,whileontheotherhand,besidesnativeTrueTypesupport,PostScriptType1rasterizingtechnology
wasincorporatedintoWindows2000,WindowsXP,andMacOSX.
21.1.1.4 ebestoftwoworlds:OpenType
eOpenType²fontformatwasjointlydevelopedbyAdobeandMicrosotocombinethebestfeatures
oftheTrueTypeandPostScriptType1technologies.Itwasfirstpresentedin1996anditsuseand
supporthasbeensteadilyincreasingsinceabout2000.
OpenTypefontscontainboththescreenandprinterfontdatainasinglecomponent.eOpen-
TypeformatcancontaineitherTrueTypeorPostScriptfontdata.Itsupportsexpandedcharactersets
(upto65.000)andspecialtypographicfeatures.esemayincludevariousversionsoffigures(tabular,
old-style,lining),smallcaps,ligatures,ordinals,andotherextras.WhileOpenTypeallowstypedesign-
erstobuildcomplexfonts,notmanyfontstakeadvantageofthesepossibilities.MostOpenTypefonts
availabletodayaresimplyconvertedPostScriptfonts,limitedto220charactersinaset.
OpenTypefontsareplatformindependentandcanthusbeusedonalloperatingsystems.
applicationscannothandlethemandforalargemajorityofusersitoenmakesmoreeconomicsensetobuyafontsetas
multipleseparatefonts.AdobenowconcentratesonreleasingOpenTypefontstoreplacetheirmultiplemasterequivalents
(e.g.,theMinionandMyriadtypefaces).
¹Seee.g.,http://developer.apple.com/fonts/,andhttp://www.microsoft.com/typography.
²SeeAdobe’sWebpageshttp://store.adobe.com/type/opentype/main.html,
andhttp://blogs.adobe.com/typblography/TT%20PS%20OpenType.pdf,
orMicrosos’sWebpagehttp://www.microsoft.com/typography/OTSPEC/default.htm.
ch-psextra1.tex,v:2.24
2007/08/14
3
C# PDF bookmark Library: add, remove, update PDF bookmarks in C#.
|. Home ›› XDoc.PDF ›› C# PDF: Edit PDF Bookmark. C#.NET PDF SDK - Edit PDF Bookmark and Outline in C#.NET. Empower Your C#
remove pdf metadata; edit pdf metadata
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
Note. |. Home ›› XDoc.PDF ›› C# PDF: Add Sticky Note. C#.NET PDF SDK - Add Sticky Note to PDF Page in C#.NET. Able to change font size in PDF comment box.
pdf xmp metadata viewer; remove metadata from pdf file
21
POSTSCRIPTFONTSANDBEYOND
21.1.2 PostScriptType1andTrueType:twodifferentapproaches
TrueTypeandPostScriptType1fontsusedifferentmathematicalrepresentationstodescribethecurves
definingthefontoutlines.¹OpenType,beingasuperset,canhaveeitherkindofoutlines.
TrueTypedescribesitscurvesbyquadraticB-splines,whilePostScriptType1usescubicBézier
curves.ismeans,inpractice,thattheshapesofreal-worldfontstendtotakemorepointsinTrue-
Type,eventhoughthekindofmathematicsusedtodescribethecurvesissimpler.Anyquadraticspline
canbeconvertedtoacubicsplinewithessentiallynoloss.Acubicsplinecanbeconvertedtoaquadratic
witharbitraryprecision,buttherewillbeaslightlossofaccuracyinmostcases.usitiseasytoconvert
TrueTypeoutlinestoPostScriptType1outlines(the“Type42”PostScriptfontformatisaPostScript
wrapperaroundaTrueTypefontforuseinPostScriptinterpreters),hardertodothereverse.
eapproachtohintingisdifferentinbothtechnologies.PostScriptType1²takesadelarative
approachandletsasmartPostScriptinterpreterdothework.Ittellstherasterizerwhatfeaturesought
tobecontrolled,andtherasterizerinterpretstheseusingitsown“intelligence”todecidehowtodoit.
erefore,whenthePostScriptinterpreterisupgraded,therasterizationcanbeimproved.
Onpaper,thehintingpotentialofTrueType³shouldbesuperiortothatofPostScriptType1fonts,
sinceTrueTypehintscandoallthatPostScriptType1can,andmore.IndeedTrueTypetakesanal-
gorithmicorprogrammingapproachandusestheveryflexibleandcompleteinstructionssetofthe
TrueTypelanguage.usTrueTypeputsallthehintinginformationintothefonttocontrolexactly
howitwillappearwhenrasterized.TrueTypeinterpreterscanbequite“dumb”andlimitthemselves
tosimplyexecutewhattheyhavebeen“instructed”todo.us,althoughaTrueTypefontdeveloper
canfinetunewhathappenswhenafontisrasterizedunderdifferentconditions,itrequiresseriousef-
fort,expertise,andhigh-endtoolstoactuallytakeadvantageofthisgreaterhintingpotential.Asa
result,high-qualityTrueTypefonts,whichexploitthetruepotentialsofTrueTypehintingonlyquite
rare.Moreover,whenusingcomplexhintingtheintroductionofanewrasterizermightrequiremajor
changestotheTrueTypecodeinordertobeabletooptimallydisplayexistingfonts.
PostScriptType1needstwoseparatefilesforitsfontdata:oneforthecharacteroutlines(
.pfb
),
andtheotherforthemetricsdata(
.afm
onLinux,
.pfm
onWindows),containingcharacterwidths,
kerningpairs,andadescriptionofhowtoconstructcomposites.TrueTypefontshaveallthedatain
asinglefile.NeverthelessthissingleTrueTypefontfileisoentwicelargerthanthetwoPostScript
Type1filescombinedduetothepresenceintheTrueTypefontsofextensive“hinting”instructions.
Generallyspeaking,PostScriptType1fontshavesomeadvantagessimplyfrombeingthelonger-
establishedstandard,especiallyforseriousgraphicartswork.Servicebureausarestandardizedon,and
havelargeinvestmentsin,PostScriptType1fonts.Mostofthefontswhichhave“expertsets”ofold
stylefigures,extraligatures,truesmallcapitalsandthelikeareinthatformat.
21.1.2.1 Interoperability
InprincipleonecanmixTrueTypeandPostScriptType1fontswiththecaveatthattheTrueTypeand
PostScriptType1instancesofthefontsmaynothaveexactlythesamenamesonthegivenoperating
system.Indeed,thefactthatfontsexistwithidenticalmenunamesorPostScriptType1fontnames
confusestheoperatingsystemortheapplicationprograms,withoenunpredictableresults.
Also,ifusingWindows,onemayfindthatmetrically-similarPostScriptType1fontsgetsubstituted
fortheWindowsTrueTypesystemfontsatoutputtime:TimesNewRomanbecomesTimesRoman,and
ArialbecomesHelvetica.Althoughthebasicspacingofthesubstitutedfontsisidentical,theirkerning
pairsarenot.iscancausetexttoreflowifoneswitchesbetweentwo“almostidentical”fontsifyour
¹Seehttp://www.truetype.demon.co.uk/articles/ttvst1.htm.
²SeeDadidLemon’sBasicType1hinting(http://www.pyrus.com/downloads/hinting.pdf).
³SeetheURLhttp://www.microsoft.com/typography/hinting/tutorial.htm,VincentConnare’sBasichinting
philosophiesandTrueTypeinstructions.
4
ch-psextra1.tex,v:2.24
2007/08/14
C# PDF Library SDK to view, edit, convert, process PDF file for C#
C#.NET: Edit PDF Metadata. PDF SDK for .NET allows you to read, add, edit, update, and delete PDF file metadata, like Title, Subject
view pdf metadata; add metadata to pdf file
VB.NET PDF Library SDK to view, edit, convert, process PDF file
PDF Metadata Edit. Offer professional PDF document metadata editing APIs, using which VB.NET developers can redact, delete, view and save PDF metadata.
acrobat pdf additional metadata; read pdf metadata java
21.1 Fontformats:anoverview
typesettingprogram(e.g.,T
E
X)supportskerningpairs.uscaremustbetakentoensurethatyouuse
thecorrectfontallthroughthecompleteproductionchain.
21.1.3 Unicode:theuniversalcharacterencoding
Unicode is an n international l standard¹ for r representing characters using a multi-byte platform-
independentencodingforcoveringalltheworldlanguages(includingsome“artificial”ones,suchas
mathematicalsymbolsandtheinternationalphoneticalphabet).Unicodedealswithcharactersrather
thanglyphs.atis,itonlydealswithsemanticratherthantypographicdistinctions(withafewex-
ceptionsforcompatibilitywithexistingstandards).ereforethereisnoplaceforglyphvariants,such
asunusualligatures,oldstylenumbers,orsmallcapswithinUnicodeitself;theUnicodestandardas-
sumesthatsuchdistinctionswillbemadeelsewhere.erefore,fontformats,whichsupportssuchdis-
tinctions,suchasOpenType(seeSection21.1.4),needtobelayeredontopofUnicode.AlanWood’s
maintainsausefulwebsite(
http://www.alanwood.net/unicode/
)whichdescribesnumerous
resourcesforUnicodeandmultilingualsupportinHTML,fonts,webbrowsersandotherapplications.
Mostcurrentoperatingsystems(Linux,MacOSXandWindowsXP)havedirectsupportforUni-
codeatthebasicsystemlevel.Forinstance,apartfromswitchingbetweendifferentlanguagekeyboards,
theseoperatingsystemsoffermeansofdirectlyaccessinganyUnicodecharacterinanyfont(e.g.,on
MacOSXviatheCharacterPaletteandonMicrosoWindows2000/XPviatheCharacterMapinSystem
ToolsintheAccessoriessubmenu.)
21.1.4 OpenType
eOpenTypefontformatwasdevelopedjointlybyMicrosoandAdobeasanextensionoftheTrue-
Typefontformat.OpenTypeaddressesthefollowinggoals:
• supportsPostScriptType1outlinesandhints;
• supportsTrueTypetablesandhints;
• supportsadvancedtypographicfeaturesbywayofnewtablesforglyphpositioningandsubstitu-
tion;
• supportsmultipleplatforms;
• supportsinternationalcharactersetsbyusingUnicode;
• offersbetterprotectionforfontdata;
• featuressmallerfilesizestomakefontdistributionmoreefficient.
SometimesOpenTypefontsarereferredtoasTrueTypeOpenv.2.0fonts.PostScriptType1data
includedinOpenTypefontsmaybedirectlyrasterizedorconvertedtotheTrueTypeoutlineformat
forrendering,dependingonwhichrasterizershavebeeninstalledinthehostoperatingsystem.Users
donotneedtoknowwhichoutlinesareactuallypresent.OnecansaythatOpenTypeentersTrueType
andPostScriptType1inacommonwrapper.OpenTypetablesincludethecurrentTrueTypetables
plussomeadditionaltablesforadvancedtypographicfeatures.erepresentationofPostScriptType1
fontsowareinanOpenTypefontusesAdobe’sCompactFontFormat(CFF)withType2charstrings,
whichisamorecompactrepresentationofthesameinformationinPostScriptType1(againofabout
afactoroftwo,onaverage,whennoglyphsandfeaturesareadded).
eOpenTypeformatsupportsfeaturesequivalenttomostoftheadvancedfeaturesofexisting
TrueTypeandPostScriptformats,suchasAdobe’sCIDtechnologyforAsianfonts,andextendedmul-
¹ecurrentversionis5.0[20]andithasbeendefinedbythemembersoftheUnicodeConsortium,whichincludes
majorcomputercorporations,sowareproducers,databasevendors,researchinstitutions,internationalagencies,various
usergroups,andinterestedindividuals,seehttp://www.unicode.org.
ch-psextra1.tex,v:2.24
2007/08/14
5
How to C#: Basic SDK Concept of XDoc.PDF for .NET
XDoc.PDF for .NET allows C# developers to edit hyperlink of PDF document Various PDF annotation features can be integrated into your C# project, such Metadata.
adding metadata to pdf; batch pdf metadata
VB.NET PDF Annotate Library: Draw, edit PDF annotation, markups in
VB.NET PDF - PDF Annotation in VB.NET. Guide to Draw, Add and Edit Various Annotations on PDF File in VB.NET Programming. Annotation Overview.
get pdf metadata; extract pdf metadata
21
POSTSCRIPTFONTSANDBEYOND
tilingualcharactersets.However,multiplemasterfontsarenotpartoftheOpenTypespecification.
OpenTypefontsmaycontainmorethan65,000glyphs,whichallowsasinglefontfiletocontainmany
nonstandardglyphs,suchasold-stylefigures,truesmallcapitals,fractions,swashes,superiors,inferi-
ors,titlingletters,contextualandstylisticalternates,andafullrangeofligatures.OpenTypefontsthus
offersrichlinguisticsupportcombinedwithadvancedtypographiccontrol.Feature-richAdobeOpen-
Typefontsareoendistinguishedbytheword“Pro,”beingpartofthefontname.OpenTypefontscan
beinstalledandusedalongsidePostScriptType1andTrueTypefonts.
OpenType,whichisbasedonUnicode,significantlysimplifiesfontmanagementandthepub-
lishingprocessbyensuringthatalloftherequiredglyphsforadocumentarecontainedinonecross-
platformfontfilethroughouttheworkflow.
etextmodelofOpenTypeisthatapplicationsstoretextusingtheunderlyingUnicodecharac-
ters,andapplyformattingtogetatthespecificdesiredglyphs.InadditiontotheUnicodemappingof
defaultglyphs,thefonthasOpenTypelayouttableswhichtellitwhichglyphstousewhenotherforms
aredesiredinstead,suchassmallcapsorswashes.esetablesalsospecifywhichglyphsshouldturn
intoligatures,orwhenascriptfontneedsdifferentglyphsforaletterwhenitisatthebeginning,middle
orendofaword,orisawordbyitself.
Havingthetransformationsdistinctfromtheunderlyingtextenablestable-drivenautomaticglyph
substitution,whichdoesnotneedtobeoneforone;oneglyphcanbesubstitutedforseveral(suchas
the“ffi”ligature,whichremembersthattheunderlyingtextcontainsthecharacters“f-f-i”insearching),
ormultipleglyphscanbesubstitutedforasingleone.Glyphsubstitutioncanbecontextsensitive,orit
canbeactivatedbyexplicituserdemand.AllofisnotveryessentialforLatin-basedlanguages,suchas
SpanishandEnglish,butitbecomesmandatoryforpropertypesettingoflanguagesthatuse“complex
scripts”,suchasArabicortheIndiclanguages,sincehavingletterstakedifferentformsbasedontheir
positioninthewordisabasicpartofhowArabicworks.
OpenTypelayoutfeaturescanbeusedtopositionorsubstituteglyphs.Foranycharacter,thereis
adefaultglyphandpositioningbehavior.eapplicationoflayoutfeaturestooneormorecharacters
maychangethepositioning,orsubstituteadifferentglyph.
ereareseveraladvantagesofusingalargeOpenTypefontovercurrentlyavailable“expertsets”
and“alternates”.First,oneonlyhastodealwithonefontfile,ratherthanbeingclutteredwithawhole
setofsupplementalfonts.Second,therecanbekerningbetweenglyphsthatmightotherwisehavebeen
inseparatefonts.Finally,theusercanturnonligatures,smallcaps,orold-stylefigures,muchlikebold
oritalicstyling,withoutswitchingfonts.
Historically,someofthehighestqualitytypefaceshaveincludeddifferentdesignsfordifferentprint
sizes.Ratherthanusingitsmultiplemasterstechnology,mostofAdobe’sOpenTypefontsnowinclude
fouropticalsizevariations:caption,regular,subheadanddisplay.Called“Opticals,”thesevariations
havebeenoptimisedforuseatspecificpointsizes.Althoughtheexactintendedsizesvarybyfamily,
thegeneralsizerangesinclude:caption(6–8point),regular(9–13point),subhead(14–24point)and
display(25–72point).
21.1.4.1 OpenTypetables
OpenTypefontfilescontaintablesthatcontaineitherTrueTypeorPostScriptoutlinefontdataand
thedatainthesetablesareusedbyrenderingprogramstorendertheTrueTypeorPostScriptglyphs.
Moreover,someofthedataisindependentoftheparticularoutlineformatused.¹
OpenTypefontsfirstcontainanumberofrequiredtables.
¹estructureofanOpenTypefontfileisdescribedattheURLhttp://www.microsoft.com/typography/otspec/
otff.htm;ashortdescriptionofthecontentsofthetablesisattheURLhttp://www.microsoft.com/typography/
otspec/recom.htm.
6
ch-psextra1.tex,v:2.24
2007/08/14
21.1 Fontformats:anoverview
cmap
Charactertoglyphmapping
head
Fontheader
hhea
Horizontalheader
hmtx
Horizontalmetrics
maxp
Maximumprofile
name
Namingtable
OS/2
OS/2andWindowsspecificmetrics
post
PostScriptinformation
ForOpenTypefontsbasedonTrueTypeoutlines,thefollowingtablesareused:
cvt
ControlValueTable
fpgm
Fontprogram
glyf
Glyphdata
loca
Indextolocation
prep
CVTProgram
ForOpenTypefontsbasedonPostScriptanothersetoftablescontainingdataspecifictoPostScript
fontsareusedinsteadofthetableslistedabove:
CFF
PostScriptfontprogram(compactfontformat)
VORG
VerticalOrigin
OpenTypefontsmaycontainbitmapsofglyphs,inadditiontooutlines.Hand-tunedbitmapsare
especiallyusefulinOpenTypefontsforrepresentingcomplexglyphsatverysmallsizes.Ifabitmapfor
aparticularsizeisprovidedinafont,itwillbeusedbythesysteminsteadoftheoutlinewhenrendering
theglyph.ForOpenTypefontscontainingbitmapglyphsthreetablesareavailable:
EBDT
Embeddedbitmapdata
EBLC
Embeddedbitmaplocationdata
EBSC
Embeddedbitmapscalingdata
Finally,advancedtypography,verticaltypesettingandotherspecialfunctionsaresupportedwith
thefollowingtables:
BASE
Baselinedata
GDEF
Glyphdefinitiondata
GPOS
Glyphpositioningdata
GSUB
Glyphsubstitutiondata
JSTF
Justificationdata
DSIG
Digitalsignature
gasp
Grid-fitting/Scan-conversion
hdmx
Horizontaldevicemetrics
kern
Kerning
LTSH
Linearthresholddata
PCLT
PCL5data
VDMX
Verticaldevicemetrics
vhea
VerticalMetricsheader
vmtx
VerticalMetrics
Furthermore,OpenTypefontsuseasetofscript,languageandfeaturetagstostructuretheinfor-
mationintheirtables.
ScripttagsidentifythescriptsrepresentedinanOpenTypefont.Eachscriptcorrespondstoacon-
tiguouscharactercoderangeinUnicode.Scripttagsarefour-bytecharacterstringscomposedofupto
fourlettersintheASCIIcharactersrange
0x20-0x7E
,paddingwithblanks(
0x20
)ifrequired.Alist
ofthemostcommonlyusedscriptsandtheirassociatedtagifgivenbelow.
DFLT
Default
arab
Arabic
armn
Armenian
beng
Bengali
bopo
Bopomofo
brai
Braille
byzm
ByzantineMusic
cans
CanadianSyllabics
cher
Cherokee
cyrl
Cyrillic
deva
Devanagari
ethi
Ethiopic
geor
Georgian
grek
Greek
gujr
Gujarati
guru
Gurmukhi
jamo
HangulJamo
hang
Hangul
hani
CJKIdeographic
hebr
Hebrew
kana
Hiragana
knda
Kannada
kana
Katakana
khmr
Khmer
lao
Lao
latn
Latin
mlym
Malayalam
ch-psextra1.tex,v:2.24
2007/08/14
7
21
POSTSCRIPTFONTSANDBEYOND
mong
Mongolian
mymr
Myanmar
ogam
Ogham
orya
Oriya
runr
Runic
sinh
Sinhala
syrc
Syriac
taml
Tamil
telu
Telugu
thaa
aana
thai
ai
tibt
Tibetan
yi
Yi
Whenthetablewiththelistofscriptsissearchedforascript,andnoentryisfound,andthere
existsanentryforthe
DFLT
script,thenthisentrymustbeused.Furthermore,thedefaultscriptcan
onlycontainasingle,default,language.
LanguagesystemtagsidentifythelanguagesystemssupportedinanOpenTypefont.Languagetags
arefour-bytecharacterstringscomposedofuptofourlettersintheASCIIcharactersrange
0x20-
0x7E
,paddingwithblanks(
0x20
)ifrequired.Alistoflanguagesandtheirtagsfollows.
ABA
Abaza
ABK
Abkhazian
ADY
Adyghe
AFK
Afrikaans
AFR
Afar
AGW
Agaw
ALT
Altai
AMH
Amharic
ARA
Arabic
ARI
Aari
ARK
Arakanese
ASM
Assamese
ATH
Athapaskan
AVR
Avar
AWA
Awadhi
AYM
Aymara
AZE
Azeri
BAD
Badaga
BAG
Baghelkhandi
BAL
Balkar
BAU
Baule
BBR
Berber
BCH
Bench
BCR
BibleCree
BEL
Belarussian
BEM
Bemba
BEN
Bengali
BGR
Bulgarian
BHI
Bhili
BHO
Bhojpuri
BIK
Bikol
BIL
Bilen
BKF
Blackfoot
BLI
Balochi
BLN
Balante
BLT
Balti
BMB
Bambara
BML
Bamileke
BRE
Breton
BRH
Brahui
BRI
BrajBhasha
BRM
Burmese
BSH
Bashkir
BTI
Beti
CAT
Catalan
CEB
Cebuano
CHE
Chechen
CHG
ChahaGurage
CHH
Chattisgarhi
CHI
Chichewa
CHK
Chukchi
CHP
Chipewyan
CHR
Cherokee
CHU
Chuvash
CMR
Comorian
COP
Coptic
CRE
Cree
CRR
Carrier
CRT
CrimeanTatar
CSL
ChurchSlavonic
CSY
Czech
DAN
Danish
DAR
Dargwa
DCR
WoodsCree
DEU
German(Standard)
DGR
Dogri
DHV
Dhivehi
DJR
Djerma
DNG
Dangme
DNK
Dinka
DUN
Dungan
DZN
Dzongkha
EBI
Ebira
ECR
EasternCree
EDO
Edo
EFI
Efik
ELL
Greek
ENG
English
ERZ
Erzya
ESP
Spanish
ETI
Estonian
EUQ
Basque
EVK
Evenki
EVN
Even
EWE
Ewe
FAN
FrenchAntillean
FAR
Farsi
FIN
Finnish
FJI
Fijian
FLE
Flemish
FNE
ForestNenets
FON
Fon
FOS
Faroese
FRA
French(Standard)
FRI
Frisian
FRL
Friulian
FTA
Futa
FUL
Fulani
GAD
Ga
GAE
Gaelic
GAG
Gagauz
GAL
Galician
8
ch-psextra1.tex,v:2.24
2007/08/14
21.1 Fontformats:anoverview
GAR
Garshuni
GAW
Garhwali
GEZ
Ge’ez
GIL
Gilyak
GMZ
Gumuz
GON
Gondi
GRN
Greenlandic
GRO
Garo
GUA
Guarani
GUJ
Gujarati
HAI
Haitian
HAL
Halam
HAR
Harauti
HAU
Hausa
HAW
Hawaiin
HBN
Hammer-Banna
HIL
Hiligaynon
HIN
Hindi
HMA
HighMari
HND
Hindko
HO
Ho
HRI
Harari
HRV
Croatian
HUN
Hungarian
HYE
Armenian
IBO
Igbo
IJO
Ijo
ILO
Ilokano
IND
Indonesian
ING
Ingush
INU
Inuktitut
IRI
Irish
IRT
IrishTraditional
ISL
Icelandic
ISM
InariSami
ITA
Italian
IWR
Hebrew
JAN
Japanese
JAV
Javanese
JII
Yiddish
JUD
Judezmo
JUL
Jula
KAB
Kabardian
KAC
Kachchi
KAL
Kalenjin
KAN
Kannada
KAR
Karachay
KAT
Georgian
KAZ
Kazakh
KEB
Kebena
KGE
KhutsuriGeorgian
KHA
Khakass
KHK
Khanty-Kazim
KHM
Khmer
KHS
Khanty-Shurishkar
KHV
Khanty-Vakhi
KHW
Khowar
KIK
Kikuyu
KIR
Kirghiz
KIS
Kisii
KKN
Kokni
KLM
Kalmyk
KMB
Kamba
KMN
Kumaoni
KMO
Komo
KMS
Komso
KNR
Kanuri
KOD
Kodagu
KOK
Konkani
KON
Kikongo
KOP
Komi-Permyak
KOR
Korean
KOZ
Komi-Zyrian
KPL
Kpelle
KRI
Krio
KRK
Karakalpak
KRL
Karelian
KRM
Karaim
KRN
Karen
KRT
Koorete
KSH
Kashmiri
KSI
Khasi
KSM
KildinSami
KUI
Kui
KUL
Kulvi
KUM
Kumyk
KUR
Kurdish
KUU
Kurukh
KUY
Kuy
KYK
Koryak
LAD
Ladin
LAH
Lahuli
LAK
Lak
LAM
Lambani
LAO
Lao
LAT
Latin
LAZ
Laz
LCR
L-Cree
LDK
Ladakhi
LEZ
Lezgi
LIN
Lingala
LMA
LowMari
LMB
Limbu
LMW
Lomwe
LSB
LowerSorbian
LSM
LuleSami
LTH
Lithuanian
LUB
Luba
LUG
Luganda
LUH
Luhya
LUO
Luo
LVI
Latvian
MAJ
Majang
MAK
Makua
MAL
MalayalamTraditional
MAN
Mansi
MAR
Marathi
MAW
Marwari
MBN
Mbundu
MCH
Manchu
MCR
MooseCree
MDE
Mende
MEN
Me’en
MIZ
Mizo
MKD
Macedonian
MLE
Male
MLG
Malagasy
MLN
Malinke
MLR
MalayalamReformed
MLY
Malay
MND
Mandinka
MNG
Mongolian
MNI
Manipuri
MNK
Maninka
MNX
ManxGaelic
MOK
Moksha
MOL
Moldavian
MON
Mon
ch-psextra1.tex,v:2.24
2007/08/14
9
21
POSTSCRIPTFONTSANDBEYOND
MOR
Moroccan
MRI
Maori
MTH
Maithili
MTS
Maltese
MUN
Mundari
NAG
Naga-Assamese
NAN
Nanai
NAS
Naskapi
NCR
N-Cree
NDB
Ndebele
NDG
Ndonga
NEP
Nepali
NEW
Newari
NHC
NorwayHouseCree
NIS
Nisi
NIU
Niuean
NKL
Nkole
NLD
Dutch
NOG
Nogai
NOR
Norwegian
NSM
NorthernSami
NTA
NorthernTai
NTO
Esperanto
NYN
Nynorsk
OCR
Oji-Cree
OJB
Ojibway
ORI
Oriya
ORO
Oromo
OSS
Ossetian
PAA
PalestinianAramaic
PAL
Pali
PAN
Punjabi
PAP
Palpa
PAS
Pashto
PGR
PolytonicGreek
PIL
Pilipino
PLG
Palaung
PLK
Polish
PRO
Provencal
PTG
Portuguese
QIN
Chin
RAJ
Rajasthani
RBU
RussianBuriat
RCR
R-Cree
RIA
Riang
RMS
Rhaeto-Romanic
ROM
Romanian
ROY
Romany
RSY
Rusyn
RUA
Ruanda
RUS
Russian
SAD
Sadri
SAN
Sanskrit
SAT
Santali
SAY
Sayisi
SEK
Sekota
SEL
Selkup
SGO
Sango
SHN
Shan
SIB
Sibe
SID
Sidamo
SIG
SilteGurage
SKS
SkoltSami
SKY
Slovak
SLA
Slavey
SLV
Slovenian
SML
Somali
SMO
Samoan
SNA
Sena
SND
Sindhi
SNH
Sinhalese
SNK
Soninke
SOG
SodoGurage
SOT
Sotho
SQI
Albanian
SRB
Serbian
SRK
Saraiki
SRR
Serer
SSL
SouthSlavey
SSM
SouthernSami
SUR
Suri
SVA
Svan
SVE
Swedish
SWA
SwadayaAramaic
SWK
Swahili
SWZ
Swazi
SXT
Sutu
SYR
Syriac
TAB
Tabasaran
TAJ
Tajiki
TAM
Tamil
TAT
Tatar
TCR
TH-Cree
TEL
Telugu
TGN
Tongan
TGR
Tigre
TGY
Tigrinya
THA
ai
THT
Tahitian
TIB
Tibetan
TKM
Turkmen
TMN
Temne
TNA
Tswana
TNE
TundraNenets
TNG
Tonga
TOD
Todo
TRK
Turkish
TSG
Tsonga
TUA
TuroyoAramaic
TUL
Tulu
TUV
Tuvin
TWI
Twi
UDM
Udmurt
UKR
Ukrainian
URD
Urdu
USB
UpperSorbian
UYG
Uyghur
UZB
Uzbek
VEN
Venda
VIT
Vietnamese
WAG
Wagdi
WA
Wa
WCR
West-Cree
WEL
Welsh
WLF
Wolof
XHS
Xhosa
YAK
Yakut
YBA
Yoruba
YCR
Y-Cree
YIC
YiClassic
YIM
YiModern
ZHP
ChinesePhonetic
ZHS
ChineseSimplified
ZHT
ChineseTraditional
ZND
Zande
ZUL
Zulu
10
ch-psextra1.tex,v:2.24
2007/08/14
Documents you may be interested
Documents you may be interested