SharpFont.xml 369 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203
  1. <?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>SharpFont</name>
  5. </assembly>
  6. <members>
  7. <member name="T:SharpFont.BBox">
  8. <summary>
  9. A structure used to hold an outline's bounding box, i.e., the
  10. coordinates of its extrema in the horizontal and vertical directions.
  11. </summary>
  12. </member>
  13. <member name="P:SharpFont.BBox.Left">
  14. <summary>
  15. Gets the horizontal minimum (left-most).
  16. </summary>
  17. </member>
  18. <member name="P:SharpFont.BBox.Bottom">
  19. <summary>
  20. Gets the vertical minimum (bottom-most).
  21. </summary>
  22. </member>
  23. <member name="P:SharpFont.BBox.Right">
  24. <summary>
  25. Gets the horizontal maximum (right-most).
  26. </summary>
  27. </member>
  28. <member name="P:SharpFont.BBox.Top">
  29. <summary>
  30. Gets the vertical maximum (top-most).
  31. </summary>
  32. </member>
  33. <member name="T:SharpFont.Bdf.Property">
  34. <summary>
  35. This structure models a given BDF/PCF property.
  36. </summary>
  37. </member>
  38. <member name="P:SharpFont.Bdf.Property.Type">
  39. <summary>
  40. Gets the property type.
  41. </summary>
  42. </member>
  43. <member name="P:SharpFont.Bdf.Property.Atom">
  44. <summary>
  45. Gets the atom string, if type is <see cref="F:SharpFont.Bdf.PropertyType.Atom"/>.
  46. </summary>
  47. </member>
  48. <member name="P:SharpFont.Bdf.Property.Integer">
  49. <summary>
  50. Gets a signed integer, if type is <see cref="F:SharpFont.Bdf.PropertyType.Integer"/>.
  51. </summary>
  52. </member>
  53. <member name="P:SharpFont.Bdf.Property.Cardinal">
  54. <summary>
  55. Gets an unsigned integer, if type is <see cref="F:SharpFont.Bdf.PropertyType.Cardinal"/>.
  56. </summary>
  57. </member>
  58. <member name="T:SharpFont.Bdf.PropertyType">
  59. <summary>
  60. A list of BDF property types.
  61. </summary>
  62. </member>
  63. <member name="F:SharpFont.Bdf.PropertyType.None">
  64. <summary>Value 0 is used to indicate a missing property.</summary>
  65. </member>
  66. <member name="F:SharpFont.Bdf.PropertyType.Atom">
  67. <summary>Property is a string atom.</summary>
  68. </member>
  69. <member name="F:SharpFont.Bdf.PropertyType.Integer">
  70. <summary>Property is a 32-bit signed integer.</summary>
  71. </member>
  72. <member name="F:SharpFont.Bdf.PropertyType.Cardinal">
  73. <summary>Property is a 32-bit unsigned integer.</summary>
  74. </member>
  75. <member name="T:SharpFont.ClassicKernValidationFlags">
  76. <summary>
  77. A list of bit-field constants used with <see cref="M:SharpFont.Face.ClassicKernValidate(SharpFont.ClassicKernValidationFlags)"/> to indicate the classic kern
  78. dialect or dialects. If the selected type doesn't fit, <see cref="M:SharpFont.Face.ClassicKernValidate(SharpFont.ClassicKernValidationFlags)"/> regards the table
  79. as invalid.
  80. </summary>
  81. </member>
  82. <member name="F:SharpFont.ClassicKernValidationFlags.Microsoft">
  83. <summary>Handle the ‘kern’ table as a classic Microsoft kern table.</summary>
  84. </member>
  85. <member name="F:SharpFont.ClassicKernValidationFlags.Apple">
  86. <summary>Handle the ‘kern’ table as a classic Apple kern table.</summary>
  87. </member>
  88. <member name="F:SharpFont.ClassicKernValidationFlags.All">
  89. <summary>Handle the ‘kern’ as either classic Apple or Microsoft kern table.</summary>
  90. </member>
  91. <member name="T:SharpFont.FTBitmap">
  92. <summary>
  93. A structure used to describe a bitmap or pixmap to the raster. Note that we now manage pixmaps of various
  94. depths through the <see cref="P:SharpFont.FTBitmap.PixelMode"/> field.
  95. </summary>
  96. <remarks>
  97. For now, the only pixel modes supported by FreeType are mono and grays. However, drivers might be added in the
  98. future to support more ‘colorful’ options.
  99. </remarks>
  100. </member>
  101. <member name="M:SharpFont.FTBitmap.#ctor(SharpFont.Library)">
  102. <summary>
  103. Initializes a new instance of the <see cref="T:SharpFont.FTBitmap"/> class.
  104. </summary>
  105. <param name="library">The parent <see cref="T:SharpFont.Library"/>.</param>
  106. </member>
  107. <member name="M:SharpFont.FTBitmap.Finalize">
  108. <summary>
  109. Finalizes an instance of the <see cref="T:SharpFont.FTBitmap"/> class.
  110. </summary>
  111. </member>
  112. <member name="P:SharpFont.FTBitmap.IsDisposed">
  113. <summary>
  114. Gets a value indicating whether the <see cref="T:SharpFont.FTBitmap"/> has been disposed.
  115. </summary>
  116. </member>
  117. <member name="P:SharpFont.FTBitmap.Rows">
  118. <summary>
  119. Gets the number of bitmap rows.
  120. </summary>
  121. </member>
  122. <member name="P:SharpFont.FTBitmap.Width">
  123. <summary>
  124. Gets the number of pixels in bitmap row.
  125. </summary>
  126. </member>
  127. <member name="P:SharpFont.FTBitmap.Pitch">
  128. <summary><para>
  129. Gets the pitch's absolute value is the number of bytes taken by one bitmap row, including padding. However,
  130. the pitch is positive when the bitmap has a ‘down’ flow, and negative when it has an ‘up’ flow. In all
  131. cases, the pitch is an offset to add to a bitmap pointer in order to go down one row.
  132. </para><para>
  133. Note that ‘padding’ means the alignment of a bitmap to a byte border, and FreeType functions normally align
  134. to the smallest possible integer value.
  135. </para><para>
  136. For the B/W rasterizer, ‘pitch’ is always an even number.
  137. </para><para>
  138. To change the pitch of a bitmap (say, to make it a multiple of 4), use <see cref="M:SharpFont.FTBitmap.Convert(SharpFont.Library,System.Int32)"/>.
  139. Alternatively, you might use callback functions to directly render to the application's surface; see the
  140. file ‘example2.cpp’ in the tutorial for a demonstration.
  141. </para></summary>
  142. </member>
  143. <member name="P:SharpFont.FTBitmap.Buffer">
  144. <summary>
  145. Gets a typeless pointer to the bitmap buffer. This value should be aligned on 32-bit boundaries in most
  146. cases.
  147. </summary>
  148. </member>
  149. <member name="P:SharpFont.FTBitmap.GrayLevels">
  150. <summary>
  151. Gets the number of gray levels used in the bitmap. This field is only used with
  152. <see cref="F:SharpFont.PixelMode.Gray"/>.
  153. </summary>
  154. </member>
  155. <member name="P:SharpFont.FTBitmap.PixelMode">
  156. <summary>
  157. Gets the pixel mode, i.e., how pixel bits are stored.
  158. </summary>
  159. </member>
  160. <member name="P:SharpFont.FTBitmap.PaletteMode">
  161. <summary>
  162. Gets how the palette is stored. This field is intended for paletted pixel modes.
  163. </summary>
  164. </member>
  165. <member name="P:SharpFont.FTBitmap.Palette">
  166. <summary>
  167. Gets a typeless pointer to the bitmap palette; this field is intended for paletted pixel modes.
  168. </summary>
  169. </member>
  170. <member name="P:SharpFont.FTBitmap.BufferData">
  171. <summary>
  172. Gets the <see cref="T:SharpFont.FTBitmap"/>'s buffer as a byte array.
  173. </summary>
  174. </member>
  175. <member name="M:SharpFont.FTBitmap.Copy(SharpFont.Library)">
  176. <summary>
  177. Copy a bitmap into another one.
  178. </summary>
  179. <param name="library">A handle to a library object.</param>
  180. <returns>A handle to the target bitmap.</returns>
  181. </member>
  182. <member name="M:SharpFont.FTBitmap.Embolden(SharpFont.Library,System.Int32,System.Int32)">
  183. <summary>
  184. Embolden a bitmap. The new bitmap will be about ‘xStrength’ pixels wider and ‘yStrength’ pixels higher. The
  185. left and bottom borders are kept unchanged.
  186. </summary>
  187. <remarks><para>
  188. The current implementation restricts ‘xStrength’ to be less than or equal to 8 if bitmap is of pixel_mode
  189. <see cref="F:SharpFont.PixelMode.Mono"/>.
  190. </para><para>
  191. If you want to embolden the bitmap owned by a <see cref="T:SharpFont.GlyphSlot"/>, you should call
  192. <see cref="M:SharpFont.GlyphSlot.OwnBitmap"/> on the slot first.
  193. </para></remarks>
  194. <param name="library">A handle to a library object.</param>
  195. <param name="xStrength">
  196. How strong the glyph is emboldened horizontally. Expressed in 26.6 pixel format.
  197. </param>
  198. <param name="yStrength">
  199. How strong the glyph is emboldened vertically. Expressed in 26.6 pixel format.
  200. </param>
  201. </member>
  202. <member name="M:SharpFont.FTBitmap.Convert(SharpFont.Library,System.Int32)">
  203. <summary>
  204. Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, or 8bpp to a bitmap object with depth 8bpp, making the
  205. number of used bytes per line (a.k.a. the ‘pitch’) a multiple of ‘alignment’.
  206. </summary>
  207. <remarks><para>
  208. It is possible to call <see cref="M:SharpFont.FTBitmap.Convert(SharpFont.Library,System.Int32)"/> multiple times without calling
  209. <see cref="M:SharpFont.FTBitmap.Dispose"/> (the memory is simply reallocated).
  210. </para><para>
  211. Use <see cref="M:SharpFont.FTBitmap.Dispose"/> to finally remove the bitmap object.
  212. </para><para>
  213. The ‘library’ argument is taken to have access to FreeType's memory handling functions.
  214. </para></remarks>
  215. <param name="library">A handle to a library object.</param>
  216. <param name="alignment">
  217. The pitch of the bitmap is a multiple of this parameter. Common values are 1, 2, or 4.
  218. </param>
  219. <returns>The target bitmap.</returns>
  220. </member>
  221. <member name="M:SharpFont.FTBitmap.ToGdipBitmap">
  222. <summary>
  223. Copies the contents of the <see cref="T:SharpFont.FTBitmap"/> to a <see cref="T:System.Drawing.Bitmap"/>.
  224. </summary>
  225. <returns>A <see cref="T:System.Drawing.Bitmap"/> containing this bitmap's data.</returns>
  226. </member>
  227. <member name="M:SharpFont.FTBitmap.Dispose">
  228. <summary>
  229. Disposes an instance of the <see cref="T:SharpFont.FTBitmap"/> class.
  230. </summary>
  231. </member>
  232. <member name="T:SharpFont.BitmapGlyph">
  233. <summary>
  234. A structure used for bitmap glyph images. This really is a ‘sub-class’ of <see cref="T:SharpFont.Glyph"/>.
  235. </summary>
  236. <remarks><para>
  237. You can typecast an <see cref="T:SharpFont.Glyph"/> to <see cref="T:SharpFont.BitmapGlyph"/> if you have ‘<see cref="P:SharpFont.Glyph.Format"/> ==
  238. <see cref="F:SharpFont.GlyphFormat.Bitmap"/>’. This lets you access the bitmap's contents easily.
  239. </para><para>
  240. The corresponding pixel buffer is always owned by <see cref="T:SharpFont.BitmapGlyph"/> and is thus created and destroyed
  241. with it.
  242. </para></remarks>
  243. </member>
  244. <member name="P:SharpFont.BitmapGlyph.Root">
  245. <summary>
  246. Gets the root <see cref="T:SharpFont.Glyph"/> fields.
  247. </summary>
  248. </member>
  249. <member name="P:SharpFont.BitmapGlyph.Left">
  250. <summary>
  251. Gets the left-side bearing, i.e., the horizontal distance from the current pen position to the left border
  252. of the glyph bitmap.
  253. </summary>
  254. </member>
  255. <member name="P:SharpFont.BitmapGlyph.Top">
  256. <summary>
  257. Gets the top-side bearing, i.e., the vertical distance from the current pen position to the top border of
  258. the glyph bitmap. This distance is positive for upwards y!
  259. </summary>
  260. </member>
  261. <member name="P:SharpFont.BitmapGlyph.Bitmap">
  262. <summary>
  263. Gets a descriptor for the bitmap.
  264. </summary>
  265. </member>
  266. <member name="T:SharpFont.BitmapSize">
  267. <summary>
  268. This structure models the metrics of a bitmap strike (i.e., a set of
  269. glyphs for a given point size and resolution) in a bitmap font. It is
  270. used for the <see cref="P:SharpFont.Face.AvailableSizes"/> field of
  271. <see cref="T:SharpFont.Face"/>.
  272. </summary>
  273. <remarks><para>
  274. Windows FNT: The nominal size given in a FNT font is not reliable. Thus
  275. when the driver finds it incorrect, it sets ‘size’ to some calculated
  276. values and sets ‘x_ppem’ and ‘y_ppem’ to the pixel width and height
  277. given in the font, respectively.
  278. </para><para>
  279. TrueType embedded bitmaps: ‘size’, ‘width’, and ‘height’ values are not
  280. contained in the bitmap strike itself. They are computed from the
  281. global font parameters.
  282. </para></remarks>
  283. </member>
  284. <member name="P:SharpFont.BitmapSize.Height">
  285. <summary>
  286. Gets the vertical distance, in pixels, between two consecutive
  287. baselines. It is always positive.
  288. </summary>
  289. </member>
  290. <member name="P:SharpFont.BitmapSize.Width">
  291. <summary>
  292. Gets the average width, in pixels, of all glyphs in the strike.
  293. </summary>
  294. </member>
  295. <member name="P:SharpFont.BitmapSize.Size">
  296. <summary>
  297. Gets the nominal size of the strike in 26.6 fractional points. This
  298. field is not very useful.
  299. </summary>
  300. </member>
  301. <member name="P:SharpFont.BitmapSize.NominalWidth">
  302. <summary>
  303. Gets the horizontal ppem (nominal width) in 26.6 fractional pixels.
  304. </summary>
  305. </member>
  306. <member name="P:SharpFont.BitmapSize.NominalHeight">
  307. <summary>
  308. Gets the vertical ppem (nominal height) in 26.6 fractional pixels.
  309. </summary>
  310. </member>
  311. <member name="T:SharpFont.Cache.CMapCache">
  312. <summary>
  313. An opaque handle used to model a charmap cache. This cache is to hold character codes -> glyph indices
  314. mappings.
  315. </summary>
  316. </member>
  317. <member name="M:SharpFont.Cache.CMapCache.#ctor(SharpFont.Cache.Manager)">
  318. <summary>
  319. Initializes a new instance of the <see cref="T:SharpFont.Cache.CMapCache"/> class.
  320. </summary>
  321. <remarks>
  322. Like all other caches, this one will be destroyed with the cache manager.
  323. </remarks>
  324. <param name="manager">A handle to the cache manager.</param>
  325. </member>
  326. <member name="M:SharpFont.Cache.CMapCache.Lookup(System.IntPtr,System.Int32,System.UInt32)">
  327. <summary>
  328. Translate a character code into a glyph index, using the charmap cache.
  329. </summary>
  330. <param name="faceId">The source face ID.</param>
  331. <param name="cmapIndex">
  332. The index of the charmap in the source face. Any negative value means to use the cache <see cref="T:SharpFont.Face"/>'s
  333. default charmap.
  334. </param>
  335. <param name="charCode">The character code (in the corresponding charmap).</param>
  336. <returns>Glyph index. 0 means ‘no glyph’.</returns>
  337. </member>
  338. <member name="T:SharpFont.Cache.FaceRequester">
  339. <summary>
  340. A callback function provided by client applications. It is used by the cache manager to translate a given
  341. FTC_FaceID into a new valid <see cref="T:SharpFont.Face"/> object, on demand.
  342. </summary>
  343. <remarks><para>
  344. The third parameter ‘req_data’ is the same as the one passed by the client when
  345. <see cref="M:SharpFont.Cache.Manager.#ctor(SharpFont.Library,System.UInt32,System.UInt32,System.UInt64,SharpFont.Cache.FaceRequester,System.IntPtr)"/> is called.
  346. </para><para>
  347. The face requester should not perform funny things on the returned face object, like creating a new
  348. <see cref="T:SharpFont.FTSize"/> for it, or setting a transformation through <see cref="M:SharpFont.Face.SetTransform(SharpFont.FTMatrix,SharpFont.FTVector)"/>!
  349. </para></remarks>
  350. <param name="faceId">The face ID to resolve.</param>
  351. <param name="library">A handle to a FreeType library object.</param>
  352. <param name="requestData">Application-provided request data (see note below).</param>
  353. <param name="aface">A new <see cref="T:SharpFont.Face"/> handle.</param>
  354. <returns>FreeType error code. 0 means success.</returns>
  355. </member>
  356. <member name="T:SharpFont.Cache.ImageCache">
  357. <summary>
  358. A handle to an glyph image cache object. They are designed to hold many distinct glyph images while not
  359. exceeding a certain memory threshold.
  360. </summary>
  361. </member>
  362. <member name="M:SharpFont.Cache.ImageCache.#ctor(SharpFont.Cache.Manager)">
  363. <summary>
  364. Initializes a new instance of the <see cref="T:SharpFont.Cache.ImageCache"/> class.
  365. </summary>
  366. <param name="manager">The parent manager for the image cache.</param>
  367. </member>
  368. <member name="M:SharpFont.Cache.ImageCache.Lookup(SharpFont.Cache.ImageType,System.UInt32,SharpFont.Cache.Node@)">
  369. <summary>
  370. Retrieve a given glyph image from a glyph image cache.
  371. </summary>
  372. <remarks><para>
  373. The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it
  374. manually! You can however create a copy with <see cref="M:SharpFont.Glyph.Copy"/> and modify the new one.
  375. </para><para>
  376. If ‘node’ is not NULL, it receives the address of the cache node containing the glyph image,
  377. after increasing its reference count. This ensures that the node (as well as the <see cref="T:SharpFont.Glyph"/>) will
  378. always be kept in the cache until you call <see cref="M:SharpFont.Cache.Node.Unref(SharpFont.Cache.Manager)"/> to ‘release’ it.
  379. </para><para>
  380. If ‘node’ is NULL, the cache node is left unchanged, which means that the <see cref="T:SharpFont.Glyph"/>
  381. could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that
  382. it is persistent!
  383. </para></remarks>
  384. <param name="type">A pointer to a glyph image type descriptor.</param>
  385. <param name="gIndex">The glyph index to retrieve.</param>
  386. <param name="node">
  387. Used to return the address of of the corresponding cache node after incrementing its reference count (see
  388. note below).
  389. </param>
  390. <returns>The corresponding <see cref="T:SharpFont.Glyph"/> object. 0 in case of failure.</returns>
  391. </member>
  392. <member name="M:SharpFont.Cache.ImageCache.LookupScaler(SharpFont.Cache.Scaler,SharpFont.LoadFlags,System.UInt32,SharpFont.Cache.Node@)">
  393. <summary>
  394. A variant of <see cref="M:SharpFont.Cache.ImageCache.Lookup(SharpFont.Cache.ImageType,System.UInt32,SharpFont.Cache.Node@)"/> that uses a <see cref="T:SharpFont.Cache.Scaler"/> to specify the face ID and its
  395. size.
  396. </summary>
  397. <remarks><para>
  398. The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it
  399. manually! You can however create a copy with <see cref="M:SharpFont.Glyph.Copy"/> and modify the new one.
  400. </para><para>
  401. If ‘node’ is not NULL, it receives the address of the cache node containing the glyph image,
  402. after increasing its reference count. This ensures that the node (as well as the <see cref="T:SharpFont.Glyph"/>) will
  403. always be kept in the cache until you call <see cref="M:SharpFont.Cache.Node.Unref(SharpFont.Cache.Manager)"/> to ‘release’ it.
  404. </para><para>
  405. If ‘node’ is NULL, the cache node is left unchanged, which means that the <see cref="T:SharpFont.Glyph"/>
  406. could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that
  407. it is persistent!
  408. </para><para>
  409. Calls to <see cref="M:SharpFont.Face.SetCharSize(System.Int32,System.Int32,System.UInt32,System.UInt32)"/> and friends have no effect on cached glyphs; you should always use
  410. the FreeType cache API instead.
  411. </para></remarks>
  412. <param name="scaler">A pointer to a scaler descriptor.</param>
  413. <param name="loadFlags">The corresponding load flags.</param>
  414. <param name="gIndex">The glyph index to retrieve.</param>
  415. <param name="node">
  416. Used to return the address of of the corresponding cache node after incrementing its reference count (see
  417. note below).
  418. </param>
  419. <returns>The corresponding <see cref="T:SharpFont.Glyph"/> object. 0 in case of failure.</returns>
  420. </member>
  421. <member name="T:SharpFont.Cache.ImageType">
  422. <summary>
  423. A structure used to model the type of images in a glyph cache.
  424. </summary>
  425. </member>
  426. <member name="P:SharpFont.Cache.ImageType.FaceId">
  427. <summary>
  428. Gets the face ID.
  429. </summary>
  430. </member>
  431. <member name="P:SharpFont.Cache.ImageType.Width">
  432. <summary>
  433. Gets the width in pixels.
  434. </summary>
  435. </member>
  436. <member name="P:SharpFont.Cache.ImageType.Height">
  437. <summary>
  438. Gets the height in pixels.
  439. </summary>
  440. </member>
  441. <member name="P:SharpFont.Cache.ImageType.Flags">
  442. <summary>
  443. Gets the load flags, as in <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>
  444. </summary>
  445. </member>
  446. <member name="T:SharpFont.Cache.Manager">
  447. <summary><para>
  448. This object corresponds to one instance of the cache-subsystem. It is used to cache one or more
  449. <see cref="T:SharpFont.Face"/> objects, along with corresponding <see cref="T:SharpFont.FTSize"/> objects.
  450. </para><para>
  451. The manager intentionally limits the total number of opened <see cref="T:SharpFont.Face"/> and <see cref="T:SharpFont.FTSize"/> objects
  452. to control memory usage. See the ‘max_faces’ and ‘max_sizes’ parameters of
  453. <see cref="M:SharpFont.Cache.Manager.#ctor(SharpFont.Library,System.UInt32,System.UInt32,System.UInt64,SharpFont.Cache.FaceRequester,System.IntPtr)"/>.
  454. </para><para>
  455. The manager is also used to cache ‘nodes’ of various types while limiting their total memory usage.
  456. </para><para>
  457. All limitations are enforced by keeping lists of managed objects in most-recently-used order, and flushing old
  458. nodes to make room for new ones.
  459. </para></summary>
  460. </member>
  461. <member name="M:SharpFont.Cache.Manager.#ctor(SharpFont.Library,System.UInt32,System.UInt32,System.UInt64,SharpFont.Cache.FaceRequester,System.IntPtr)">
  462. <summary>
  463. Initializes a new instance of the Manager class.
  464. </summary>
  465. <param name="library">The parent FreeType library handle to use.</param>
  466. <param name="maxFaces">
  467. Maximum number of opened <see cref="T:SharpFont.Face"/> objects managed by this cache instance. Use 0 for defaults.
  468. </param>
  469. <param name="maxSizes">
  470. Maximum number of opened <see cref="T:SharpFont.FTSize"/> objects managed by this cache instance. Use 0 for defaults.
  471. </param>
  472. <param name="maxBytes">
  473. Maximum number of bytes to use for cached data nodes. Use 0 for defaults. Note that this value does not
  474. account for managed <see cref="T:SharpFont.Face"/> and <see cref="T:SharpFont.FTSize"/> objects.
  475. </param>
  476. <param name="requester">
  477. An application-provided callback used to translate face IDs into real <see cref="T:SharpFont.Face"/> objects.
  478. </param>
  479. <param name="requestData">
  480. A generic pointer that is passed to the requester each time it is called (see <see cref="T:SharpFont.Cache.FaceRequester"/>).
  481. </param>
  482. </member>
  483. <member name="M:SharpFont.Cache.Manager.Finalize">
  484. <summary>
  485. Finalizes an instance of the Manager class.
  486. </summary>
  487. </member>
  488. <member name="P:SharpFont.Cache.Manager.IsDisposed">
  489. <summary>
  490. Gets a value indicating whether the object has been disposed.
  491. </summary>
  492. </member>
  493. <member name="M:SharpFont.Cache.Manager.Reset">
  494. <summary>
  495. Empty a given cache manager. This simply gets rid of all the currently cached <see cref="T:SharpFont.Face"/> and
  496. <see cref="T:SharpFont.FTSize"/> objects within the manager.
  497. </summary>
  498. </member>
  499. <member name="M:SharpFont.Cache.Manager.LookupFace(System.IntPtr)">
  500. <summary>
  501. Retrieve the <see cref="T:SharpFont.Face"/> object that corresponds to a given face ID through a cache manager.
  502. </summary>
  503. <remarks><para>
  504. The returned <see cref="T:SharpFont.Face"/> object is always owned by the manager. You should never try to discard it
  505. yourself.
  506. </para><para>
  507. The <see cref="T:SharpFont.Face"/> object doesn't necessarily have a current size object (i.e., <see cref="P:SharpFont.Face.Size"/>
  508. can be 0). If you need a specific ‘font size’, use <see cref="M:SharpFont.Cache.Manager.LookupSize(SharpFont.Cache.Scaler)"/> instead.
  509. </para><para>
  510. Never change the face's transformation matrix (i.e., never call the <see cref="M:SharpFont.Face.SetTransform(SharpFont.FTMatrix,SharpFont.FTVector)"/>
  511. function) on a returned face! If you need to transform glyphs, do it yourself after glyph loading.
  512. </para><para>
  513. When you perform a lookup, out-of-memory errors are detected within the lookup and force incremental
  514. flushes of the cache until enough memory is released for the lookup to succeed.
  515. </para><para>
  516. If a lookup fails with <see cref="F:SharpFont.Error.OutOfMemory"/> the cache has already been completely flushed, and
  517. still no memory was available for the operation.
  518. </para></remarks>
  519. <param name="faceId">The ID of the face object.</param>
  520. <returns>A handle to the face object.</returns>
  521. </member>
  522. <member name="M:SharpFont.Cache.Manager.LookupSize(SharpFont.Cache.Scaler)">
  523. <summary>
  524. Retrieve the <see cref="T:SharpFont.FTSize"/> object that corresponds to a given <see cref="T:SharpFont.Cache.Scaler"/> pointer through a
  525. cache manager.
  526. </summary>
  527. <remarks><para>
  528. The returned <see cref="T:SharpFont.FTSize"/> object is always owned by the/ manager. You should never try to discard
  529. it by yourself.
  530. </para><para>
  531. You can access the parent <see cref="T:SharpFont.Face"/> object simply as <see cref="P:SharpFont.FTSize.Face"/> if you need it.
  532. Note that this object is also owned by the manager.
  533. </para><para>
  534. When you perform a lookup, out-of-memory errors are detected within the lookup and force incremental
  535. flushes of the cache until enough memory is released for the lookup to succeed.
  536. </para><para>
  537. If a lookup fails with <see cref="F:SharpFont.Error.OutOfMemory"/> the cache has already been completely flushed, and
  538. still no memory is available for the operation.
  539. </para></remarks>
  540. <param name="scaler">A scaler handle.</param>
  541. <returns>A handle to the size object.</returns>
  542. </member>
  543. <member name="M:SharpFont.Cache.Manager.RemoveFaceId(System.IntPtr)">
  544. <summary>
  545. A special function used to indicate to the cache manager that a given FTC_FaceID is no longer valid, either
  546. because its content changed, or because it was deallocated or uninstalled.
  547. </summary>
  548. <remarks><para>
  549. This function flushes all nodes from the cache corresponding to this ‘faceID’, with the
  550. exception of nodes with a non-null reference count.
  551. </para><para>
  552. Such nodes are however modified internally so as to never appear in later lookups with the same
  553. ‘faceID’ value, and to be immediately destroyed when released by all their users.
  554. </para></remarks>
  555. <param name="faceId">The FTC_FaceID to be removed.</param>
  556. </member>
  557. <member name="M:SharpFont.Cache.Manager.Dispose">
  558. <summary>
  559. Disposes the Manager.
  560. </summary>
  561. </member>
  562. <member name="T:SharpFont.Cache.Node">
  563. <summary><para>
  564. An opaque handle to a cache node object. Each cache node is reference-counted. A node with a count of 0 might
  565. be flushed out of a full cache whenever a lookup request is performed.
  566. </para><para>
  567. If you look up nodes, you have the ability to ‘acquire’ them, i.e., to increment their reference count. This
  568. will prevent the node from being flushed out of the cache until you explicitly ‘release’ it.
  569. </para></summary>
  570. <see cref="M:SharpFont.Cache.Node.Unref(SharpFont.Cache.Manager)"/>
  571. <seealso cref="M:SharpFont.Cache.SBitCache.Lookup(SharpFont.Cache.ImageType,System.UInt32,SharpFont.Cache.Node@)"/>
  572. <seealso cref="M:SharpFont.Cache.ImageCache.Lookup(SharpFont.Cache.ImageType,System.UInt32,SharpFont.Cache.Node@)"/>
  573. </member>
  574. <member name="M:SharpFont.Cache.Node.Unref(SharpFont.Cache.Manager)">
  575. <summary>
  576. Decrement a cache node's internal reference count. When the count reaches 0, it is not destroyed but
  577. becomes eligible for subsequent cache flushes.
  578. </summary>
  579. <param name="manager">The cache manager handle.</param>
  580. </member>
  581. <member name="T:SharpFont.Cache.SBit">
  582. <summary>
  583. A handle to a small bitmap cache. These are special cache objects used to store small glyph bitmaps (and
  584. anti-aliased pixmaps) in a much more efficient way than the traditional glyph image cache implemented by
  585. <see cref="T:SharpFont.Cache.ImageCache"/>.
  586. </summary>
  587. </member>
  588. <member name="P:SharpFont.Cache.SBit.Width">
  589. <summary>
  590. Gets the bitmap width in pixels.
  591. </summary>
  592. </member>
  593. <member name="P:SharpFont.Cache.SBit.Height">
  594. <summary>
  595. Gets the bitmap height in pixels.
  596. </summary>
  597. </member>
  598. <member name="P:SharpFont.Cache.SBit.Left">
  599. <summary>
  600. Gets the horizontal distance from the pen position to the left bitmap border (a.k.a. ‘left side bearing’,
  601. or ‘lsb’).
  602. </summary>
  603. </member>
  604. <member name="P:SharpFont.Cache.SBit.Top">
  605. <summary>
  606. Gets the vertical distance from the pen position (on the baseline) to the upper bitmap border (a.k.a. ‘top
  607. side bearing’). The distance is positive for upwards y coordinates.
  608. </summary>
  609. </member>
  610. <member name="P:SharpFont.Cache.SBit.Format">
  611. <summary>
  612. Gets the format of the glyph bitmap (monochrome or gray).
  613. </summary>
  614. </member>
  615. <member name="P:SharpFont.Cache.SBit.MaxGrays">
  616. <summary>
  617. Gets the maximum gray level value (in the range 1 to 255).
  618. </summary>
  619. </member>
  620. <member name="P:SharpFont.Cache.SBit.Pitch">
  621. <summary>
  622. Gets the number of bytes per bitmap line. May be positive or negative.
  623. </summary>
  624. </member>
  625. <member name="P:SharpFont.Cache.SBit.AdvanceX">
  626. <summary>
  627. Gets the horizontal advance width in pixels.
  628. </summary>
  629. </member>
  630. <member name="P:SharpFont.Cache.SBit.AdvanceY">
  631. <summary>
  632. Gets the vertical advance height in pixels.
  633. </summary>
  634. </member>
  635. <member name="P:SharpFont.Cache.SBit.Buffer">
  636. <summary>
  637. Gets a pointer to the bitmap pixels.
  638. </summary>
  639. </member>
  640. <member name="T:SharpFont.Cache.SBitCache">
  641. <summary>
  642. A handle to a small bitmap cache. These are special cache objects used to store small glyph bitmaps (and
  643. anti-aliased pixmaps) in a much more efficient way than the traditional glyph image cache implemented by
  644. <see cref="T:SharpFont.Cache.ImageCache"/>.
  645. </summary>
  646. </member>
  647. <member name="M:SharpFont.Cache.SBitCache.#ctor(SharpFont.Cache.Manager)">
  648. <summary>
  649. Initializes a new instance of the <see cref="T:SharpFont.Cache.SBitCache"/> class.
  650. </summary>
  651. <param name="manager">A handle to the source cache manager.</param>
  652. </member>
  653. <member name="M:SharpFont.Cache.SBitCache.Lookup(SharpFont.Cache.ImageType,System.UInt32,SharpFont.Cache.Node@)">
  654. <summary>
  655. Look up a given small glyph bitmap in a given sbit cache and ‘lock’ it to prevent its flushing from the
  656. cache until needed.
  657. </summary>
  658. <remarks><para>
  659. The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the
  660. application. They might as well disappear from memory on the next cache lookup, so don't treat them as
  661. persistent data.
  662. </para><para>
  663. The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.
  664. </para><para>
  665. If ‘node’ is not NULL, it receives the address of the cache node containing the bitmap, after
  666. increasing its reference count. This ensures that the node (as well as the image) will always be kept in
  667. the cache until you call <see cref="M:SharpFont.Cache.Node.Unref(SharpFont.Cache.Manager)"/> to ‘release’ it.
  668. </para><para>
  669. If ‘node’ is NULL, the cache node is left unchanged, which means that the bitmap could be
  670. flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is
  671. persistent!
  672. </para></remarks>
  673. <param name="type">A pointer to the glyph image type descriptor.</param>
  674. <param name="gIndex">The glyph index.</param>
  675. <param name="node">
  676. Used to return the address of of the corresponding cache node after incrementing its reference count (see
  677. note below).
  678. </param>
  679. <returns>A handle to a small bitmap descriptor.</returns>
  680. </member>
  681. <member name="M:SharpFont.Cache.SBitCache.LookupScaler(SharpFont.Cache.Scaler,SharpFont.LoadFlags,System.UInt32,SharpFont.Cache.Node@)">
  682. <summary>
  683. A variant of <see cref="M:SharpFont.Cache.SBitCache.Lookup(SharpFont.Cache.ImageType,System.UInt32,SharpFont.Cache.Node@)"/> that uses a <see cref="T:SharpFont.Cache.Scaler"/> to specify the face ID and its
  684. size.
  685. </summary>
  686. <remarks><para>
  687. The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the
  688. application. They might as well disappear from memory on the next cache lookup, so don't treat them as
  689. persistent data.
  690. </para><para>
  691. The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.
  692. </para><para>
  693. If ‘node’ is not NULL, it receives the address of the cache node containing the bitmap, after
  694. increasing its reference count. This ensures that the node (as well as the image) will always be kept in
  695. the cache until you call <see cref="M:SharpFont.Cache.Node.Unref(SharpFont.Cache.Manager)"/> to ‘release’ it.
  696. </para><para>
  697. If ‘node’ is NULL, the cache node is left unchanged, which means that the bitmap could be
  698. flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is
  699. persistent!
  700. </para></remarks>
  701. <param name="scaler">A pointer to the scaler descriptor.</param>
  702. <param name="loadFlags">The corresponding load flags.</param>
  703. <param name="gIndex">The glyph index.</param>
  704. <param name="node">
  705. Used to return the address of of the corresponding cache node after incrementing its reference count (see
  706. note below).
  707. </param>
  708. <returns>A handle to a small bitmap descriptor.</returns>
  709. </member>
  710. <member name="T:SharpFont.Cache.Scaler">
  711. <summary>
  712. A structure used to describe a given character size in either pixels or points to the cache manager.
  713. </summary>
  714. <remarks>
  715. This type is mainly used to retrieve <see cref="T:SharpFont.FTSize"/> objects through the cache manager.
  716. </remarks>
  717. <see cref="M:SharpFont.Cache.Manager.LookupSize(SharpFont.Cache.Scaler)"/>
  718. </member>
  719. <member name="P:SharpFont.Cache.Scaler.FaceId">
  720. <summary>
  721. Gets the source face ID.
  722. </summary>
  723. </member>
  724. <member name="P:SharpFont.Cache.Scaler.Width">
  725. <summary>
  726. Gets the character width.
  727. </summary>
  728. </member>
  729. <member name="P:SharpFont.Cache.Scaler.Height">
  730. <summary>
  731. Gets the character height.
  732. </summary>
  733. </member>
  734. <member name="P:SharpFont.Cache.Scaler.Pixel">
  735. <summary>
  736. Gets a boolean. If true, the ‘width’ and ‘height’ fields are interpreted as integer pixel character sizes.
  737. Otherwise, they are expressed as 1/64th of points.
  738. </summary>
  739. </member>
  740. <member name="P:SharpFont.Cache.Scaler.ResolutionX">
  741. <summary>
  742. Gets the horizontal resolution in dpi; only used when ‘pixel’ is value 0.
  743. </summary>
  744. </member>
  745. <member name="P:SharpFont.Cache.Scaler.ResolutionY">
  746. <summary>
  747. Gets the vertical resolution in dpi; only used when ‘pixel’ is value 0.
  748. </summary>
  749. </member>
  750. <member name="T:SharpFont.CharMap">
  751. <summary>
  752. The base charmap structure.
  753. </summary>
  754. </member>
  755. <member name="P:SharpFont.CharMap.Face">
  756. <summary>
  757. Gets a handle to the parent face object.
  758. </summary>
  759. </member>
  760. <member name="P:SharpFont.CharMap.Encoding">
  761. <summary>
  762. Gets an <see cref="P:SharpFont.CharMap.Encoding"/> tag identifying the charmap. Use this with
  763. <see cref="M:SharpFont.Face.SelectCharmap(SharpFont.Encoding)"/>.
  764. </summary>
  765. </member>
  766. <member name="P:SharpFont.CharMap.PlatformId">
  767. <summary>
  768. Gets an ID number describing the platform for the following encoding ID. This comes directly from the
  769. TrueType specification and should be emulated for other formats.
  770. </summary>
  771. </member>
  772. <member name="P:SharpFont.CharMap.EncodingId">
  773. <summary>
  774. Gets a platform specific encoding number. This also comes from the TrueType specification and should be
  775. emulated similarly.
  776. </summary>
  777. </member>
  778. <member name="M:SharpFont.CharMap.GetCharmapIndex">
  779. <summary>
  780. Retrieve index of a given charmap.
  781. </summary>
  782. <returns>The index into the array of character maps within the face to which ‘charmap’ belongs.</returns>
  783. </member>
  784. <member name="M:SharpFont.CharMap.GetCMapLanguageId">
  785. <summary>
  786. Return TrueType/sfnt specific cmap language ID. Definitions of language ID values are in
  787. ‘freetype/ttnameid.h’.
  788. </summary>
  789. <returns>
  790. The language ID of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, just return 0 as the
  791. default value.
  792. </returns>
  793. </member>
  794. <member name="M:SharpFont.CharMap.GetCMapFormat">
  795. <summary>
  796. Return TrueType/sfnt specific cmap format.
  797. </summary>
  798. <returns>The format of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, return -1.</returns>
  799. </member>
  800. <member name="T:SharpFont.Data">
  801. <summary>
  802. Read-only binary data represented as a pointer and a length.
  803. </summary>
  804. </member>
  805. <member name="P:SharpFont.Data.Pointer">
  806. <summary>
  807. Gets the data.
  808. </summary>
  809. </member>
  810. <member name="P:SharpFont.Data.Length">
  811. <summary>
  812. Gets the length of the data in bytes.
  813. </summary>
  814. </member>
  815. <member name="T:SharpFont.Encoding">
  816. <summary>
  817. An enumeration used to specify character sets supported by charmaps.
  818. Used in the FT_Select_Charmap API function.
  819. </summary>
  820. <remarks><para>
  821. Despite the name, this enumeration lists specific character repertories
  822. (i.e., charsets), and not text encoding methods (e.g., UTF-8, UTF-16,
  823. etc.).
  824. </para><para>
  825. Other encodings might be defined in the future.
  826. </para></remarks>
  827. </member>
  828. <member name="F:SharpFont.Encoding.None">
  829. <summary>
  830. The encoding value 0 is reserved.
  831. </summary>
  832. </member>
  833. <member name="F:SharpFont.Encoding.MicrosoftSymbol">
  834. <summary>
  835. Corresponds to the Microsoft Symbol encoding, used to encode
  836. mathematical symbols in the 32..255 character code range.
  837. </summary>
  838. <see href="http://www.ceviz.net/symbol.htm"/>
  839. </member>
  840. <member name="F:SharpFont.Encoding.Unicode">
  841. <summary><para>
  842. Corresponds to the Unicode character set. This value covers all
  843. versions of the Unicode repertoire, including ASCII and Latin-1.
  844. Most fonts include a Unicode charmap, but not all of them.
  845. </para><para>
  846. For example, if you want to access Unicode value U+1F028 (and the
  847. font contains it), use value 0x1F028 as the input value for
  848. FT_Get_Char_Index.
  849. </para></summary>
  850. </member>
  851. <member name="F:SharpFont.Encoding.Sjis">
  852. <summary>
  853. Corresponds to Japanese SJIS encoding.
  854. </summary>
  855. <see href="http://langsupport.japanreference.com/encoding.shtml"/>
  856. </member>
  857. <member name="F:SharpFont.Encoding.GB2312">
  858. <summary>
  859. Corresponds to an encoding system for Simplified Chinese as used
  860. used in mainland China.
  861. </summary>
  862. </member>
  863. <member name="F:SharpFont.Encoding.Big5">
  864. <summary>
  865. Corresponds to an encoding system for Traditional Chinese as used
  866. in Taiwan and Hong Kong.
  867. </summary>
  868. </member>
  869. <member name="F:SharpFont.Encoding.Wansung">
  870. <summary>
  871. Corresponds to the Korean encoding system known as Wansung.
  872. </summary>
  873. <see href="http://www.microsoft.com/typography/unicode/949.txt"/>
  874. </member>
  875. <member name="F:SharpFont.Encoding.Johab">
  876. <summary>
  877. The Korean standard character set (KS C 5601-1992), which
  878. corresponds to MS Windows code page 1361. This character set
  879. includes all possible Hangeul character combinations.
  880. </summary>
  881. </member>
  882. <member name="F:SharpFont.Encoding.AdobeStandard">
  883. <summary>
  884. Corresponds to the Adobe Standard encoding, as found in Type 1,
  885. CFF, and OpenType/CFF fonts. It is limited to 256 character codes.
  886. </summary>
  887. </member>
  888. <member name="F:SharpFont.Encoding.AdobeExpert">
  889. <summary>
  890. Corresponds to the Adobe Expert encoding, as found in Type 1, CFF,
  891. and OpenType/CFF fonts. It is limited to 256 character codes.
  892. </summary>
  893. </member>
  894. <member name="F:SharpFont.Encoding.AdobeCustom">
  895. <summary>
  896. Corresponds to a custom encoding, as found in Type 1, CFF, and
  897. OpenType/CFF fonts. It is limited to 256 character codes.
  898. </summary>
  899. </member>
  900. <member name="F:SharpFont.Encoding.AdobeLatin1">
  901. <summary>
  902. Corresponds to a Latin-1 encoding as defined in a Type 1 PostScript
  903. font. It is limited to 256 character codes.
  904. </summary>
  905. </member>
  906. <member name="F:SharpFont.Encoding.OldLatin2">
  907. <summary>
  908. This value is deprecated and was never used nor reported by
  909. FreeType. Don't use or test for it.
  910. </summary>
  911. </member>
  912. <member name="F:SharpFont.Encoding.AppleRoman">
  913. <summary>
  914. Corresponds to the 8-bit Apple roman encoding. Many TrueType and
  915. OpenType fonts contain a charmap for this encoding, since older
  916. versions of Mac OS are able to use it.
  917. </summary>
  918. </member>
  919. <member name="T:SharpFont.Fnt.Header">
  920. <summary>
  921. Windows FNT Header info.
  922. </summary>
  923. </member>
  924. <member name="T:SharpFont.Fnt.WinFntId">
  925. <summary>
  926. A list of valid values for the ‘charset’ byte in <see cref="T:SharpFont.Fnt.Header"/>. Exact mapping tables for the various
  927. cpXXXX encodings (except for cp1361) can be found at <see href="ftp://ftp.unicode.org" /> in the
  928. MAPPINGS/VENDORS/MICSFT/WINDOWS subdirectory. cp1361 is roughly a superset of
  929. MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT.
  930. </summary>
  931. </member>
  932. <member name="F:SharpFont.Fnt.WinFntId.CP1252">
  933. <summary>
  934. ANSI encoding. A superset of ISO 8859-1.
  935. </summary>
  936. </member>
  937. <member name="F:SharpFont.Fnt.WinFntId.Default">
  938. <summary>
  939. This is used for font enumeration and font creation as a ‘don't care’ value. Valid font files don't contain
  940. this value. When querying for information about the character set of the font that is currently selected
  941. into a specified device context, this return value (of the related Windows API) simply denotes failure.
  942. </summary>
  943. </member>
  944. <member name="F:SharpFont.Fnt.WinFntId.Symbol">
  945. <summary>
  946. There is no known mapping table available.
  947. </summary>
  948. </member>
  949. <member name="F:SharpFont.Fnt.WinFntId.Mac">
  950. <summary>
  951. Mac Roman encoding.
  952. </summary>
  953. </member>
  954. <member name="F:SharpFont.Fnt.WinFntId.CP932">
  955. <summary>
  956. A superset of Japanese Shift-JIS (with minor deviations).
  957. </summary>
  958. </member>
  959. <member name="F:SharpFont.Fnt.WinFntId.CP949">
  960. <summary>
  961. A superset of Korean Hangul KS C 5601-1987 (with different ordering and minor deviations).
  962. </summary>
  963. </member>
  964. <member name="F:SharpFont.Fnt.WinFntId.CP1361">
  965. <summary>
  966. Korean (Johab).
  967. </summary>
  968. </member>
  969. <member name="F:SharpFont.Fnt.WinFntId.CP936">
  970. <summary>
  971. A superset of simplified Chinese GB 2312-1980 (with different ordering and minor deviations).
  972. </summary>
  973. </member>
  974. <member name="F:SharpFont.Fnt.WinFntId.CP950">
  975. <summary>
  976. A superset of traditional Chinese Big 5 ETen (with different ordering and minor deviations).
  977. </summary>
  978. </member>
  979. <member name="F:SharpFont.Fnt.WinFntId.CP1253">
  980. <summary>
  981. A superset of Greek ISO 8859-7 (with minor modifications).
  982. </summary>
  983. </member>
  984. <member name="F:SharpFont.Fnt.WinFntId.CP1254">
  985. <summary>
  986. A superset of Turkish ISO 8859-9.
  987. </summary>
  988. </member>
  989. <member name="F:SharpFont.Fnt.WinFntId.CP1258">
  990. <summary>
  991. For Vietnamese. This encoding doesn't cover all necessary characters.
  992. </summary>
  993. </member>
  994. <member name="F:SharpFont.Fnt.WinFntId.CP1255">
  995. <summary>
  996. A superset of Hebrew ISO 8859-8 (with some modifications).
  997. </summary>
  998. </member>
  999. <member name="F:SharpFont.Fnt.WinFntId.CP1256">
  1000. <summary>
  1001. A superset of Arabic ISO 8859-6 (with different ordering).
  1002. </summary>
  1003. </member>
  1004. <member name="F:SharpFont.Fnt.WinFntId.CP1257">
  1005. <summary>
  1006. A superset of Baltic ISO 8859-13 (with some deviations).
  1007. </summary>
  1008. </member>
  1009. <member name="F:SharpFont.Fnt.WinFntId.CP1251">
  1010. <summary>
  1011. A superset of Russian ISO 8859-5 (with different ordering).
  1012. </summary>
  1013. </member>
  1014. <member name="F:SharpFont.Fnt.WinFntId.CP874">
  1015. <summary>
  1016. A superset of Thai TIS 620 and ISO 8859-11.
  1017. </summary>
  1018. </member>
  1019. <member name="F:SharpFont.Fnt.WinFntId.CP1250">
  1020. <summary>
  1021. A superset of East European ISO 8859-2 (with slightly different ordering).
  1022. </summary>
  1023. </member>
  1024. <member name="F:SharpFont.Fnt.WinFntId.Oem">
  1025. <summary><para>
  1026. From Michael Pöttgen &lt;michael@poettgen.de&gt;:
  1027. The ‘Windows Font Mapping’ article says that <see cref="F:SharpFont.Fnt.WinFntId.Oem"/> is used for the charset of vector
  1028. fonts, like ‘modern.fon’, ‘roman.fon’, and ‘script.fon’ on Windows.
  1029. </para><para>
  1030. The ‘CreateFont’ documentation says: The <see cref="F:SharpFont.Fnt.WinFntId.Oem"/> value specifies a character set that is
  1031. operating-system dependent.
  1032. </para><para>
  1033. The ‘IFIMETRICS’ documentation from the ‘Windows Driver Development Kit’ says: This font supports an
  1034. OEM-specific character set. The OEM character set is system dependent.
  1035. </para><para>
  1036. In general OEM, as opposed to ANSI (i.e., cp1252), denotes the second default codepage that most
  1037. international versions of Windows have. It is one of the OEM codepages from
  1038. <see href="http://www.microsoft.com/globaldev/reference/cphome.mspx"/>, and is used for the ‘DOS boxes’, to
  1039. support legacy applications. A German Windows version for example usually uses ANSI codepage 1252 and OEM
  1040. codepage 850.
  1041. </para></summary>
  1042. </member>
  1043. <member name="T:SharpFont.ListIterator">
  1044. <summary>
  1045. An <see cref="T:SharpFont.FTList"/> iterator function which is called during a list parse by <see cref="M:SharpFont.FTList.Iterate(SharpFont.ListIterator,System.IntPtr)"/>.
  1046. </summary>
  1047. <param name="node">The current iteration list node.</param>
  1048. <param name="user">
  1049. A typeless pointer passed to <see cref="T:SharpFont.ListIterator"/>. Can be used to point to the iteration's state.
  1050. </param>
  1051. <returns>Error code.</returns>
  1052. </member>
  1053. <member name="T:SharpFont.ListDestructor">
  1054. <summary>
  1055. An <see cref="T:SharpFont.FTList"/> iterator function which is called during a list finalization by
  1056. <see cref="M:SharpFont.FTList.Finalize(SharpFont.ListDestructor,SharpFont.Memory,System.IntPtr)"/> to destroy all elements in a given list.
  1057. </summary>
  1058. <param name="memory">The current system object.</param>
  1059. <param name="data">The current object to destroy.</param>
  1060. <param name="user">
  1061. A typeless pointer passed to <see cref="M:SharpFont.FTList.Iterate(SharpFont.ListIterator,System.IntPtr)"/>. It can be used to point to the iteration's state.
  1062. </param>
  1063. </member>
  1064. <member name="T:SharpFont.FTList">
  1065. <summary>
  1066. A structure used to hold a simple doubly-linked list. These are used in many parts of FreeType.
  1067. </summary>
  1068. </member>
  1069. <member name="P:SharpFont.FTList.Head">
  1070. <summary>
  1071. Gets the head (first element) of doubly-linked list.
  1072. </summary>
  1073. </member>
  1074. <member name="P:SharpFont.FTList.Tail">
  1075. <summary>
  1076. Gets the tail (last element) of doubly-linked list.
  1077. </summary>
  1078. </member>
  1079. <member name="M:SharpFont.FTList.Find(System.IntPtr)">
  1080. <summary>
  1081. Find the list node for a given listed object.
  1082. </summary>
  1083. <param name="data">The address of the listed object.</param>
  1084. <returns>List node. NULL if it wasn't found.</returns>
  1085. </member>
  1086. <member name="M:SharpFont.FTList.Add(SharpFont.ListNode)">
  1087. <summary>
  1088. Append an element to the end of a list.
  1089. </summary>
  1090. <param name="node">The node to append.</param>
  1091. </member>
  1092. <member name="M:SharpFont.FTList.Insert(SharpFont.ListNode)">
  1093. <summary>
  1094. Insert an element at the head of a list.
  1095. </summary>
  1096. <param name="node">The node to insert.</param>
  1097. </member>
  1098. <member name="M:SharpFont.FTList.Remove(SharpFont.ListNode)">
  1099. <summary>
  1100. Remove a node from a list. This function doesn't check whether the node is in the list!
  1101. </summary>
  1102. <param name="node">The node to remove.</param>
  1103. </member>
  1104. <member name="M:SharpFont.FTList.Up(SharpFont.ListNode)">
  1105. <summary>
  1106. Move a node to the head/top of a list. Used to maintain LRU lists.
  1107. </summary>
  1108. <param name="node">The node to move.</param>
  1109. </member>
  1110. <member name="M:SharpFont.FTList.Iterate(SharpFont.ListIterator,System.IntPtr)">
  1111. <summary>
  1112. Parse a list and calls a given iterator function on each element. Note that parsing is stopped as soon as
  1113. one of the iterator calls returns a non-zero value.
  1114. </summary>
  1115. <param name="iterator">An iterator function, called on each node of the list.</param>
  1116. <param name="user">A user-supplied field which is passed as the second argument to the iterator.</param>
  1117. </member>
  1118. <member name="M:SharpFont.FTList.Finalize(SharpFont.ListDestructor,SharpFont.Memory,System.IntPtr)">
  1119. <summary>
  1120. Destroy all elements in the list as well as the list itself.
  1121. </summary>
  1122. <remarks>
  1123. This function expects that all nodes added by <see cref="M:SharpFont.FTList.Add(SharpFont.ListNode)"/> or <see cref="M:SharpFont.FTList.Insert(SharpFont.ListNode)"/> have been
  1124. dynamically allocated.
  1125. </remarks>
  1126. <param name="destroy">A list destructor that will be applied to each element of the list.</param>
  1127. <param name="memory">The current memory object which handles deallocation.</param>
  1128. <param name="user">A user-supplied field which is passed as the last argument to the destructor.</param>
  1129. </member>
  1130. <member name="T:SharpFont.Internal.BBoxRec">
  1131. <summary>
  1132. Internally represents a BBox.
  1133. </summary>
  1134. <remarks>
  1135. Refer to <see cref="T:SharpFont.BBox"/> for FreeType documentation.
  1136. </remarks>
  1137. </member>
  1138. <member name="T:SharpFont.Internal.BitmapRec">
  1139. <summary>
  1140. Internally represents a Bitmap.
  1141. </summary>
  1142. <remarks>
  1143. Refer to <see cref="T:SharpFont.FTBitmap"/> for FreeType documentation.
  1144. </remarks>
  1145. </member>
  1146. <member name="T:SharpFont.Internal.BitmapSizeRec">
  1147. <summary>
  1148. Internally represents a BitmapSize.
  1149. </summary>
  1150. <remarks>
  1151. Refer to <see cref="T:SharpFont.BitmapSize"/> for FreeType documentation.
  1152. </remarks>
  1153. </member>
  1154. <member name="T:SharpFont.Internal.CharMapRec">
  1155. <summary>
  1156. Internally represents a CharMap.
  1157. </summary>
  1158. <remarks>
  1159. Refer to <see cref="T:SharpFont.CharMap"/> for FreeType documentation.
  1160. </remarks>
  1161. </member>
  1162. <member name="T:SharpFont.Internal.FaceRec">
  1163. <summary>
  1164. Internally represents a Face.
  1165. </summary>
  1166. <remarks>
  1167. Refer to <see cref="T:SharpFont.Face"/> for FreeType documentation.
  1168. </remarks>
  1169. </member>
  1170. <member name="T:SharpFont.Internal.GlyphMetricsRec">
  1171. <summary>
  1172. Internally represents a GlyphMetrics.
  1173. </summary>
  1174. <remarks>
  1175. Refer to <see cref="T:SharpFont.GlyphMetrics"/> for FreeType documentation.
  1176. </remarks>
  1177. </member>
  1178. <member name="T:SharpFont.Internal.GlyphSlotRec">
  1179. <summary>
  1180. Internally represents a GlyphSlot.
  1181. </summary>
  1182. <remarks>
  1183. Refer to <see cref="T:SharpFont.GlyphSlot"/> for FreeType documentation.
  1184. </remarks>
  1185. </member>
  1186. <member name="T:SharpFont.LcdFilter">
  1187. <summary>
  1188. A list of values to identify various types of LCD filters.
  1189. </summary>
  1190. </member>
  1191. <member name="F:SharpFont.LcdFilter.None">
  1192. <summary>
  1193. Do not perform filtering. When used with subpixel rendering, this results in sometimes severe color
  1194. fringes.
  1195. </summary>
  1196. </member>
  1197. <member name="F:SharpFont.LcdFilter.Default">
  1198. <summary>
  1199. The default filter reduces color fringes considerably, at the cost of a slight blurriness in the output.
  1200. </summary>
  1201. </member>
  1202. <member name="F:SharpFont.LcdFilter.Light">
  1203. <summary>
  1204. The light filter is a variant that produces less blurriness at the cost of slightly more color fringes than
  1205. the default one. It might be better, depending on taste, your monitor, or your personal vision.
  1206. </summary>
  1207. </member>
  1208. <member name="F:SharpFont.LcdFilter.Legacy">
  1209. <summary><para>
  1210. This filter corresponds to the original libXft color filter. It provides high contrast output but can
  1211. exhibit really bad color fringes if glyphs are not extremely well hinted to the pixel grid. In other words,
  1212. it only works well if the TrueType bytecode interpreter is enabled and high-quality hinted fonts are used.
  1213. </para><para>
  1214. This filter is only provided for comparison purposes, and might be disabled or stay unsupported in the
  1215. future.
  1216. </para></summary>
  1217. </member>
  1218. <member name="T:SharpFont.ListNode">
  1219. <summary>
  1220. A structure used to hold a single list element.
  1221. </summary>
  1222. </member>
  1223. <member name="P:SharpFont.ListNode.Previous">
  1224. <summary>
  1225. Gets the previous element in the list. NULL if first.
  1226. </summary>
  1227. </member>
  1228. <member name="P:SharpFont.ListNode.Next">
  1229. <summary>
  1230. Gets the next element in the list. NULL if last.
  1231. </summary>
  1232. </member>
  1233. <member name="P:SharpFont.ListNode.Data">
  1234. <summary>
  1235. Gets a typeless pointer to the listed object.
  1236. </summary>
  1237. </member>
  1238. <member name="T:SharpFont.AllocFunc">
  1239. <summary>
  1240. A function used to allocate ‘size’ bytes from ‘memory’.
  1241. </summary>
  1242. <param name="memory">A handle to the source memory manager.</param>
  1243. <param name="size">The size in bytes to allocate.</param>
  1244. <returns>Address of new memory block. 0 in case of failure.</returns>
  1245. </member>
  1246. <member name="T:SharpFont.FreeFunc">
  1247. <summary>
  1248. A function used to release a given block of memory.
  1249. </summary>
  1250. <param name="memory">A handle to the source memory manager.</param>
  1251. <param name="block">The address of the target memory block.</param>
  1252. </member>
  1253. <member name="T:SharpFont.ReallocFunc">
  1254. <summary>
  1255. A function used to re-allocate a given block of memory.
  1256. </summary>
  1257. <remarks>
  1258. In case of error, the old block must still be available.
  1259. </remarks>
  1260. <param name="memory">A handle to the source memory manager.</param>
  1261. <param name="currentSize">The block's current size in bytes.</param>
  1262. <param name="newSize">The block's requested new size.</param>
  1263. <param name="block">The block's current address.</param>
  1264. <returns>New block address. 0 in case of memory shortage.</returns>
  1265. </member>
  1266. <member name="T:SharpFont.Memory">
  1267. <summary>
  1268. A structure used to describe a given memory manager to FreeType 2.
  1269. </summary>
  1270. </member>
  1271. <member name="P:SharpFont.Memory.User">
  1272. <summary>
  1273. Gets a generic typeless pointer for user data.
  1274. </summary>
  1275. </member>
  1276. <member name="P:SharpFont.Memory.Allocate">
  1277. <summary>
  1278. Gets a pointer type to an allocation function.
  1279. </summary>
  1280. </member>
  1281. <member name="P:SharpFont.Memory.Free">
  1282. <summary>
  1283. Gets a pointer type to an memory freeing function.
  1284. </summary>
  1285. </member>
  1286. <member name="P:SharpFont.Memory.Reallocate">
  1287. <summary>
  1288. Gets a pointer type to a reallocation function.
  1289. </summary>
  1290. </member>
  1291. <member name="T:SharpFont.ModuleConstructor">
  1292. <summary>
  1293. A function used to initialize (not create) a new module object.
  1294. </summary>
  1295. <param name="module">The module to initialize.</param>
  1296. <returns>FreeType error code.</returns>
  1297. </member>
  1298. <member name="T:SharpFont.ModuleDestructor">
  1299. <summary>
  1300. A function used to finalize (not destroy) a given module object.
  1301. </summary>
  1302. <param name="module">The module to finalize.</param>
  1303. </member>
  1304. <member name="T:SharpFont.ModuleRequester">
  1305. <summary>
  1306. A function used to query a given module for a specific interface.
  1307. </summary>
  1308. <param name="module">The module that contains the interface.</param>
  1309. <param name="name">The name of the interface in the module.</param>
  1310. <returns>The interface.</returns>
  1311. </member>
  1312. <member name="T:SharpFont.ModuleClass">
  1313. <summary>
  1314. The module class descriptor.
  1315. </summary>
  1316. </member>
  1317. <member name="P:SharpFont.ModuleClass.Flags">
  1318. <summary>
  1319. Gets bit flags describing the module.
  1320. </summary>
  1321. </member>
  1322. <member name="P:SharpFont.ModuleClass.Size">
  1323. <summary>
  1324. Gets the size of one module object/instance in bytes.
  1325. </summary>
  1326. </member>
  1327. <member name="P:SharpFont.ModuleClass.Name">
  1328. <summary>
  1329. Gets the name of the module.
  1330. </summary>
  1331. </member>
  1332. <member name="P:SharpFont.ModuleClass.Version">
  1333. <summary>
  1334. Gets the version, as a 16.16 fixed number (major.minor).
  1335. </summary>
  1336. </member>
  1337. <member name="P:SharpFont.ModuleClass.Requires">
  1338. <summary>
  1339. Gets the version of FreeType this module requires, as a 16.16 fixed number (major.minor). Starts at version
  1340. 2.0, i.e., 0x20000.
  1341. </summary>
  1342. </member>
  1343. <member name="P:SharpFont.ModuleClass.Init">
  1344. <summary>
  1345. Gets the initializing function.
  1346. </summary>
  1347. </member>
  1348. <member name="P:SharpFont.ModuleClass.Done">
  1349. <summary>
  1350. Gets the finalizing function.
  1351. </summary>
  1352. </member>
  1353. <member name="P:SharpFont.ModuleClass.GetInterface">
  1354. <summary>
  1355. Gets the interface requesting function.
  1356. </summary>
  1357. </member>
  1358. <member name="T:SharpFont.MultipleMasters.MMAxis">
  1359. <summary><para>
  1360. A simple structure used to model a given axis in design space for Multiple Masters fonts.
  1361. </para><para>
  1362. This structure can't be used for GX var fonts.
  1363. </para></summary>
  1364. </member>
  1365. <member name="P:SharpFont.MultipleMasters.MMAxis.Name">
  1366. <summary>
  1367. Gets the axis's name.
  1368. </summary>
  1369. </member>
  1370. <member name="P:SharpFont.MultipleMasters.MMAxis.Minimum">
  1371. <summary>
  1372. Gets the axis's minimum design coordinate.
  1373. </summary>
  1374. </member>
  1375. <member name="P:SharpFont.MultipleMasters.MMAxis.Maximum">
  1376. <summary>
  1377. Gets the axis's maximum design coordinate.
  1378. </summary>
  1379. </member>
  1380. <member name="T:SharpFont.MultipleMasters.MMVar">
  1381. <summary><para>
  1382. A structure used to model the axes and space of a Multiple Masters or GX var distortable font.
  1383. </para><para>
  1384. Some fields are specific to one format and not to the other.
  1385. </para></summary>
  1386. </member>
  1387. <member name="P:SharpFont.MultipleMasters.MMVar.AxisCount">
  1388. <summary>
  1389. Gets the number of axes. The maximum value is 4 for MM; no limit in GX.
  1390. </summary>
  1391. </member>
  1392. <member name="P:SharpFont.MultipleMasters.MMVar.DesignsCount">
  1393. <summary>
  1394. Gets the number of designs; should be normally 2^num_axis for MM fonts. Not meaningful for GX (where every
  1395. glyph could have a different number of designs).
  1396. </summary>
  1397. </member>
  1398. <member name="P:SharpFont.MultipleMasters.MMVar.NamedStylesCount">
  1399. <summary>
  1400. Gets the number of named styles; only meaningful for GX which allows certain design coordinates to have a
  1401. string ID (in the ‘name’ table) associated with them. The font can tell the user that, for example,
  1402. Weight=1.5 is ‘Bold’.
  1403. </summary>
  1404. </member>
  1405. <member name="P:SharpFont.MultipleMasters.MMVar.Axis">
  1406. <summary>
  1407. Gets a table of axis descriptors. GX fonts contain slightly more data than MM.
  1408. </summary>
  1409. </member>
  1410. <member name="P:SharpFont.MultipleMasters.MMVar.NamedStyle">
  1411. <summary>
  1412. Gets a table of named styles. Only meaningful with GX.
  1413. </summary>
  1414. </member>
  1415. <member name="T:SharpFont.MultipleMasters.MultiMaster">
  1416. <summary><para>
  1417. A structure used to model the axes and space of a Multiple Masters font.
  1418. </para><para>
  1419. This structure can't be used for GX var fonts.
  1420. </para></summary>
  1421. </member>
  1422. <member name="P:SharpFont.MultipleMasters.MultiMaster.AxisCount">
  1423. <summary>
  1424. Gets the number of axes. Cannot exceed 4.
  1425. </summary>
  1426. </member>
  1427. <member name="P:SharpFont.MultipleMasters.MultiMaster.DesignsCount">
  1428. <summary>
  1429. Gets the number of designs; should be normally 2^num_axis even though the Type 1 specification strangely
  1430. allows for intermediate designs to be present. This number cannot exceed 16.
  1431. </summary>
  1432. </member>
  1433. <member name="P:SharpFont.MultipleMasters.MultiMaster.Axis">
  1434. <summary>
  1435. Gets a table of axis descriptors.
  1436. </summary>
  1437. </member>
  1438. <member name="T:SharpFont.MultipleMasters.VarAxis">
  1439. <summary>
  1440. A simple structure used to model a given axis in design space for Multiple Masters and GX var fonts.
  1441. </summary>
  1442. </member>
  1443. <member name="P:SharpFont.MultipleMasters.VarAxis.Name">
  1444. <summary>
  1445. Gets the axis's name. Not always meaningful for GX.
  1446. </summary>
  1447. </member>
  1448. <member name="P:SharpFont.MultipleMasters.VarAxis.Minimum">
  1449. <summary>
  1450. Gets the axis's minimum design coordinate.
  1451. </summary>
  1452. </member>
  1453. <member name="P:SharpFont.MultipleMasters.VarAxis.Default">
  1454. <summary>
  1455. Gets the axis's default design coordinate. FreeType computes meaningful default values for MM; it is then
  1456. an integer value, not in 16.16 format.
  1457. </summary>
  1458. </member>
  1459. <member name="P:SharpFont.MultipleMasters.VarAxis.Maximum">
  1460. <summary>
  1461. Gets the axis's maximum design coordinate.
  1462. </summary>
  1463. </member>
  1464. <member name="P:SharpFont.MultipleMasters.VarAxis.Tag">
  1465. <summary>
  1466. Gets the axis's tag (the GX equivalent to ‘name’). FreeType provides default values for MM if possible.
  1467. </summary>
  1468. </member>
  1469. <member name="P:SharpFont.MultipleMasters.VarAxis.StrId">
  1470. <summary>
  1471. Gets the entry in ‘name’ table (another GX version of ‘name’). Not meaningful for MM.
  1472. </summary>
  1473. </member>
  1474. <member name="T:SharpFont.MultipleMasters.VarNamedStyle">
  1475. <summary><para>
  1476. A simple structure used to model a named style in a GX var font.
  1477. </para><para>
  1478. This structure can't be used for MM fonts.
  1479. </para></summary>
  1480. </member>
  1481. <member name="P:SharpFont.MultipleMasters.VarNamedStyle.Coordinates">
  1482. <summary>
  1483. Gets the design coordinates for this style. This is an array with one entry for each axis.
  1484. </summary>
  1485. </member>
  1486. <member name="P:SharpFont.MultipleMasters.VarNamedStyle.StrId">
  1487. <summary>
  1488. Gets the entry in ‘name’ table identifying this style.
  1489. </summary>
  1490. </member>
  1491. <member name="T:SharpFont.OpenTypeValidationFlags">
  1492. <summary>
  1493. A list of bit-field constants used with <see cref="M:SharpFont.Face.OpenTypeValidate(SharpFont.OpenTypeValidationFlags,System.IntPtr@,System.IntPtr@,System.IntPtr@,System.IntPtr@,System.IntPtr@)"/> to indicate which OpenType tables
  1494. should be validated.
  1495. </summary>
  1496. </member>
  1497. <member name="F:SharpFont.OpenTypeValidationFlags.Base">
  1498. <summary>Validate BASE table.</summary>
  1499. </member>
  1500. <member name="F:SharpFont.OpenTypeValidationFlags.Gdef">
  1501. <summary>Validate GDEF table.</summary>
  1502. </member>
  1503. <member name="F:SharpFont.OpenTypeValidationFlags.Gpos">
  1504. <summary>Validate GPOS table.</summary>
  1505. </member>
  1506. <member name="F:SharpFont.OpenTypeValidationFlags.Gsub">
  1507. <summary>Validate GSUB table.</summary>
  1508. </member>
  1509. <member name="F:SharpFont.OpenTypeValidationFlags.Jstf">
  1510. <summary>Validate JSTF table.</summary>
  1511. </member>
  1512. <member name="F:SharpFont.OpenTypeValidationFlags.Math">
  1513. <summary>Validate MATH table.</summary>
  1514. </member>
  1515. <member name="F:SharpFont.OpenTypeValidationFlags.All">
  1516. <summary>Validate all OpenType tables.</summary>
  1517. </member>
  1518. <member name="T:SharpFont.Orientation">
  1519. <summary><para>
  1520. A list of values used to describe an outline's contour orientation.
  1521. </para><para>
  1522. The TrueType and PostScript specifications use different conventions to determine whether outline contours
  1523. should be filled or unfilled.
  1524. </para></summary>
  1525. </member>
  1526. <member name="F:SharpFont.Orientation.TrueType">
  1527. <summary>
  1528. According to the TrueType specification, clockwise contours must be filled, and counter-clockwise ones must
  1529. be unfilled.
  1530. </summary>
  1531. </member>
  1532. <member name="F:SharpFont.Orientation.PostScript">
  1533. <summary>
  1534. According to the PostScript specification, counter-clockwise contours must be filled, and clockwise ones
  1535. must be unfilled.
  1536. </summary>
  1537. </member>
  1538. <member name="F:SharpFont.Orientation.FillRight">
  1539. <summary>
  1540. This is identical to <see cref="F:SharpFont.Orientation.TrueType"/>, but is used to remember that in TrueType, everything that is
  1541. to the right of the drawing direction of a contour must be filled.
  1542. </summary>
  1543. </member>
  1544. <member name="F:SharpFont.Orientation.FillLeft">
  1545. <summary>
  1546. This is identical to <see cref="F:SharpFont.Orientation.PostScript"/>, but is used to remember that in PostScript, everything that
  1547. is to the left of the drawing direction of a contour must be filled.
  1548. </summary>
  1549. </member>
  1550. <member name="F:SharpFont.Orientation.None">
  1551. <summary>
  1552. The orientation cannot be determined. That is, different parts of the glyph have different orientation.
  1553. </summary>
  1554. </member>
  1555. <member name="T:SharpFont.OutlineGlyph">
  1556. <summary>
  1557. A structure used for outline (vectorial) glyph images. This really is a ‘sub-class’ of <see cref="T:SharpFont.Glyph"/>.
  1558. </summary>
  1559. <remarks><para>
  1560. You can typecast an <see cref="T:SharpFont.Glyph"/> to <see cref="T:SharpFont.OutlineGlyph"/> if you have ‘<see cref="P:SharpFont.Glyph.Format"/>
  1561. == <see cref="F:SharpFont.GlyphFormat.Outline"/>’. This lets you access the outline's content easily.
  1562. </para><para>
  1563. As the outline is extracted from a glyph slot, its coordinates are expressed normally in 26.6 pixels, unless
  1564. the flag <see cref="F:SharpFont.LoadFlags.NoScale"/> was used in <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/> or
  1565. <see cref="M:SharpFont.Face.LoadChar(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>.
  1566. </para><para>
  1567. The outline's tables are always owned by the object and are destroyed with it.
  1568. </para></remarks>
  1569. </member>
  1570. <member name="P:SharpFont.OutlineGlyph.Root">
  1571. <summary>
  1572. Gets the root <see cref="T:SharpFont.Glyph"/> fields.
  1573. </summary>
  1574. </member>
  1575. <member name="P:SharpFont.OutlineGlyph.Outline">
  1576. <summary>
  1577. Gets a descriptor for the outline.
  1578. </summary>
  1579. </member>
  1580. <member name="T:SharpFont.PInvokeHelper">
  1581. <summary>
  1582. Helpful methods to make marshalling simpler.
  1583. </summary>
  1584. </member>
  1585. <member name="M:SharpFont.PInvokeHelper.PtrToStructure``1(System.IntPtr)">
  1586. <summary>
  1587. A generic wrapper for <see cref="M:System.Runtime.InteropServices.Marshal.PtrToStructure(System.IntPtr,System.Type)"/>.
  1588. </summary>
  1589. <typeparam name="T">The type to cast to.</typeparam>
  1590. <param name="reference">The pointer that holds the struct.</param>
  1591. <returns>A marshalled struct.</returns>
  1592. </member>
  1593. <member name="T:SharpFont.PostScript.FaceDict">
  1594. <summary>
  1595. A structure used to represent data in a CID top-level dictionary.
  1596. </summary>
  1597. </member>
  1598. <member name="T:SharpFont.PostScript.FaceInfo">
  1599. <summary>
  1600. A structure used to represent CID Face information.
  1601. </summary>
  1602. </member>
  1603. <member name="T:SharpFont.PostScript.FontInfo">
  1604. <summary>
  1605. A structure used to model a Type 1 or Type 2 FontInfo dictionary. Note that for Multiple Master fonts, each
  1606. instance has its own FontInfo dictionary.
  1607. </summary>
  1608. </member>
  1609. <member name="T:SharpFont.PostScript.Private">
  1610. <summary>
  1611. A structure used to model a Type 1 or Type 2 private dictionary. Note that for Multiple Master fonts, each
  1612. instance has its own Private dictionary.
  1613. </summary>
  1614. </member>
  1615. <member name="T:SharpFont.PostScript.DictionaryKeys">
  1616. <summary>
  1617. An enumeration used in calls to <see cref="M:SharpFont.Face.GetPSFontValue(SharpFont.PostScript.DictionaryKeys,System.UInt32,System.IntPtr@,System.Int32)"/> to identify the Type 1 dictionary entry to
  1618. retrieve.
  1619. </summary>
  1620. <see href="http://partners.adobe.com/public/developer/en/font/T1_SPEC.PDF"/>
  1621. </member>
  1622. <member name="F:SharpFont.PostScript.DictionaryKeys.FontType">
  1623. <summary>
  1624. The font's type. Type 1 fonts must have a value of 1.
  1625. </summary>
  1626. </member>
  1627. <member name="F:SharpFont.PostScript.DictionaryKeys.FontMatrix">
  1628. <summary>
  1629. The font's matrix. Typically scaled 1000:1.
  1630. </summary>
  1631. </member>
  1632. <member name="F:SharpFont.PostScript.DictionaryKeys.FontBBox">
  1633. <summary>
  1634. The font's general bounding box.
  1635. </summary>
  1636. </member>
  1637. <member name="F:SharpFont.PostScript.DictionaryKeys.PaintType">
  1638. <summary>
  1639. The font's method of painting characters. Type 1 only supports fill (0) and outline (2).
  1640. </summary>
  1641. </member>
  1642. <member name="F:SharpFont.PostScript.DictionaryKeys.FontName">
  1643. <summary>
  1644. The font's name.
  1645. </summary>
  1646. </member>
  1647. <member name="F:SharpFont.PostScript.DictionaryKeys.UniqueId">
  1648. <summary>
  1649. A unique identifier for popular fonts assigned by Adobe.
  1650. </summary>
  1651. </member>
  1652. <member name="F:SharpFont.PostScript.DictionaryKeys.NumCharStrings">
  1653. <summary>
  1654. The number of characters the font can draw.
  1655. </summary>
  1656. </member>
  1657. <member name="F:SharpFont.PostScript.DictionaryKeys.NumSubrs">
  1658. <summary>
  1659. The number of charstring subroutines in the font.
  1660. </summary>
  1661. </member>
  1662. <member name="F:SharpFont.PostScript.DictionaryKeys.Subr">
  1663. <summary>
  1664. The font's subroutines.
  1665. </summary>
  1666. </member>
  1667. <member name="F:SharpFont.PostScript.DictionaryKeys.StdHW">
  1668. <summary>
  1669. An array with only one real number entry expressing the dominant width of horizontal stems (measured
  1670. vertically in character space units).
  1671. </summary>
  1672. </member>
  1673. <member name="F:SharpFont.PostScript.DictionaryKeys.StdVW">
  1674. <summary>
  1675. An array with only one real number entry expressing the dominant width of vertical stems (measured
  1676. horizontally in character space units).
  1677. </summary>
  1678. </member>
  1679. <member name="F:SharpFont.PostScript.DictionaryKeys.NumBlueValues">
  1680. <summary>
  1681. The number of BlueValues the font defines. The value must be at least 0 and at most 14. (7 integer pairs).
  1682. </summary>
  1683. </member>
  1684. <member name="F:SharpFont.PostScript.DictionaryKeys.BlueValue">
  1685. <summary>
  1686. An array of integer pairs. The first pair must be the base overshoot position and the base-line.
  1687. </summary>
  1688. </member>
  1689. <member name="F:SharpFont.PostScript.DictionaryKeys.BlueFuzz">
  1690. <summary>
  1691. An optional entry that specifies the number of character space units to extend (in both directions) the
  1692. effect of an alignment zone on a horizontal stem. The default value is 1.
  1693. </summary>
  1694. </member>
  1695. <member name="F:SharpFont.PostScript.DictionaryKeys.NumOtherBlues">
  1696. <summary>
  1697. The number of OtherBlue values. The value must be at least 0 and at most 10 (5 integer pairs).
  1698. </summary>
  1699. </member>
  1700. <member name="F:SharpFont.PostScript.DictionaryKeys.OtherBlue">
  1701. <summary>
  1702. An optional array of integer pairs very similar to those in <see cref="F:SharpFont.PostScript.DictionaryKeys.BlueValue"/>.
  1703. </summary>
  1704. </member>
  1705. <member name="F:SharpFont.PostScript.DictionaryKeys.NumFamilyBlues">
  1706. <summary>
  1707. The number of FamilyBlue values.
  1708. </summary>
  1709. </member>
  1710. <member name="F:SharpFont.PostScript.DictionaryKeys.FamilyBlue">
  1711. <summary>
  1712. An array of integer pairs very similar to those in <see cref="F:SharpFont.PostScript.DictionaryKeys.BlueValue"/>.
  1713. </summary>
  1714. </member>
  1715. <member name="F:SharpFont.PostScript.DictionaryKeys.NumFamilyOtherBlues">
  1716. <summary>
  1717. The number of FamilyOtherBlue values.
  1718. </summary>
  1719. </member>
  1720. <member name="F:SharpFont.PostScript.DictionaryKeys.FamilyOtherBlue">
  1721. <summary>
  1722. An array of integer pairs very similar to those in <see cref="F:SharpFont.PostScript.DictionaryKeys.OtherBlue"/>.
  1723. </summary>
  1724. </member>
  1725. <member name="F:SharpFont.PostScript.DictionaryKeys.BlueScale">
  1726. <summary>
  1727. An optional entry that controls the point size at which overshoot suppression ceases. The default value is
  1728. 0.039625.
  1729. </summary>
  1730. </member>
  1731. <member name="F:SharpFont.PostScript.DictionaryKeys.BlueShift">
  1732. <summary>
  1733. An optional entry that indicates a character space distance beyond the flat position of alignment zones at
  1734. which overshoot enforcement for character features occurs. The default value is 7.
  1735. </summary>
  1736. </member>
  1737. <member name="F:SharpFont.PostScript.DictionaryKeys.NumStemSnapH">
  1738. <summary>
  1739. The number of StemSnapH values. Cannot exceed 12.
  1740. </summary>
  1741. </member>
  1742. <member name="F:SharpFont.PostScript.DictionaryKeys.StemSnapH">
  1743. <summary>
  1744. An array of up to 12 real numbers of the most common widths (including the dominant width given in the
  1745. StdHW array) for horizontal stems (measured vertically). These widths must be sorted in increasing order.
  1746. </summary>
  1747. </member>
  1748. <member name="F:SharpFont.PostScript.DictionaryKeys.NumStemSnapV">
  1749. <summary>
  1750. The number of StemSnapV values. Cannot exceed 12.
  1751. </summary>
  1752. </member>
  1753. <member name="F:SharpFont.PostScript.DictionaryKeys.StemSnapV">
  1754. <summary>
  1755. An array of up to 12 real numbers of the most common widths (including the dominant width given in the
  1756. StdVW array) for vertical stems (measured horizontally). These widths must be sorted in increasing order.
  1757. </summary>
  1758. </member>
  1759. <member name="F:SharpFont.PostScript.DictionaryKeys.ForceBold">
  1760. <summary>
  1761. A boolean value indicating whether to force bold characters when a regular character is drawn 1-pixel wide.
  1762. </summary>
  1763. </member>
  1764. <member name="F:SharpFont.PostScript.DictionaryKeys.RndStemUp">
  1765. <summary>
  1766. Compatibility entry. Use only for font programs in language group 1.
  1767. </summary>
  1768. </member>
  1769. <member name="F:SharpFont.PostScript.DictionaryKeys.MinFeature">
  1770. <summary>
  1771. Obsolete. Set to {16 16}. Required.
  1772. </summary>
  1773. </member>
  1774. <member name="F:SharpFont.PostScript.DictionaryKeys.LenIV">
  1775. <summary>
  1776. An integer specifying the number of random bytes at the beginning of charstrings for encryption. By default
  1777. this value is 4.
  1778. </summary>
  1779. </member>
  1780. <member name="F:SharpFont.PostScript.DictionaryKeys.Password">
  1781. <summary>
  1782. Compatibility entry. Set to 5839.
  1783. </summary>
  1784. </member>
  1785. <member name="F:SharpFont.PostScript.DictionaryKeys.LanguageGroup">
  1786. <summary>
  1787. Identifies the language group of the font. A value of 0 indicates a language that uses Latin, Greek,
  1788. Cyrillic, etc. characters. A value of 1 indicates a language that consists of Chinese ideographs, Jpaanese
  1789. Kanji, and Korean Hangul. The default value is 0.
  1790. </summary>
  1791. </member>
  1792. <member name="T:SharpFont.PostScript.BlendFlags">
  1793. <summary>
  1794. A set of flags used to indicate which fields are present in a given blend dictionary (font info or private).
  1795. Used to support Multiple Masters fonts.
  1796. </summary>
  1797. </member>
  1798. <member name="T:SharpFont.PostScript.EncodingType">
  1799. <summary>
  1800. An enumeration describing the ‘Encoding’ entry in a Type 1 dictionary.
  1801. </summary>
  1802. </member>
  1803. <member name="T:SharpFont.Raster">
  1804. <summary>
  1805. A handle (pointer) to a raster object. Each object can be used independently to convert an outline into a
  1806. bitmap or pixmap.
  1807. </summary>
  1808. </member>
  1809. <member name="T:SharpFont.RasterFlags">
  1810. <summary>
  1811. A list of bit flag constants as used in the ‘flags’ field of a <see cref="T:SharpFont.RasterParams"/> structure.
  1812. </summary>
  1813. </member>
  1814. <member name="F:SharpFont.RasterFlags.Default">
  1815. <summary>
  1816. This value is 0.
  1817. </summary>
  1818. </member>
  1819. <member name="F:SharpFont.RasterFlags.AntiAlias">
  1820. <summary>
  1821. This flag is set to indicate that an anti-aliased glyph image should be generated. Otherwise, it will be
  1822. monochrome (1-bit).
  1823. </summary>
  1824. </member>
  1825. <member name="F:SharpFont.RasterFlags.Direct">
  1826. <summary><para>
  1827. This flag is set to indicate direct rendering. In this mode, client applications must provide their own
  1828. span callback. This lets them directly draw or compose over an existing bitmap. If this bit is not set, the
  1829. target pixmap's buffer must be zeroed before rendering.
  1830. </para><para>
  1831. Note that for now, direct rendering is only possible with anti-aliased glyphs.
  1832. </para></summary>
  1833. </member>
  1834. <member name="F:SharpFont.RasterFlags.Clip">
  1835. <summary><para>
  1836. This flag is only used in direct rendering mode. If set, the output will be clipped to a box specified in
  1837. the ‘clip_box’ field of the <see cref="T:SharpFont.RasterParams"/> structure.
  1838. </para><para>
  1839. Note that by default, the glyph bitmap is clipped to the target pixmap, except in direct rendering mode
  1840. where all spans are generated if no clipping box is set.
  1841. </para></summary>
  1842. </member>
  1843. <member name="T:SharpFont.RasterNewFunc">
  1844. <summary>
  1845. A function used to create a new raster object.
  1846. </summary>
  1847. <remarks>
  1848. The ‘memory’ parameter is a typeless pointer in order to avoid un-wanted dependencies on the rest of the
  1849. FreeType code. In practice, it is an <see cref="T:SharpFont.Memory"/> object, i.e., a handle to the standard FreeType
  1850. memory allocator. However, this field can be completely ignored by a given raster implementation.
  1851. </remarks>
  1852. <param name="memory">A handle to the memory allocator.</param>
  1853. <param name="raster">A handle to the new raster object.</param>
  1854. <returns>Error code. 0 means success.</returns>
  1855. </member>
  1856. <member name="T:SharpFont.RasterDoneFunc">
  1857. <summary>
  1858. A function used to destroy a given raster object.
  1859. </summary>
  1860. <param name="raster">A handle to the raster object.</param>
  1861. </member>
  1862. <member name="T:SharpFont.RasterResetFunc">
  1863. <summary><para>
  1864. FreeType provides an area of memory called the ‘render pool’, available to all registered rasters. This pool
  1865. can be freely used during a given scan-conversion but is shared by all rasters. Its content is thus transient.
  1866. </para><para>
  1867. This function is called each time the render pool changes, or just after a new raster object is created.
  1868. </para></summary>
  1869. <remarks>
  1870. Rasters can ignore the render pool and rely on dynamic memory allocation if they want to (a handle to the
  1871. memory allocator is passed to the raster constructor). However, this is not recommended for efficiency
  1872. purposes.
  1873. </remarks>
  1874. <param name="raster">A handle to the new raster object.</param>
  1875. <param name="pool_base">The address in memory of the render pool.</param>
  1876. <param name="pool_size">The size in bytes of the render pool.</param>
  1877. </member>
  1878. <member name="T:SharpFont.RasterSetModeFunc">
  1879. <summary>
  1880. This function is a generic facility to change modes or attributes in a given raster. This can be used for
  1881. debugging purposes, or simply to allow implementation-specific ‘features’ in a given raster module.
  1882. </summary>
  1883. <param name="raster">A handle to the new raster object.</param>
  1884. <param name="mode">A 4-byte tag used to name the mode or property.</param>
  1885. <param name="args">A pointer to the new mode/property to use.</param>
  1886. </member>
  1887. <member name="T:SharpFont.RasterRenderFunc">
  1888. <summary>
  1889. Invoke a given raster to scan-convert a given glyph image into a target
  1890. bitmap.
  1891. </summary>
  1892. <remarks><para>
  1893. The exact format of the source image depends on the raster's glyph format defined in its
  1894. <see cref="T:SharpFont.RasterFuncs"/> structure. It can be an <see cref="T:SharpFont.Outline"/> or anything else in order to support a
  1895. large array of glyph formats.
  1896. </para><para>
  1897. Note also that the render function can fail and return a <see cref="F:SharpFont.Error.UnimplementedFeature"/> error code if
  1898. the raster used does not support direct composition.
  1899. </para><para>
  1900. XXX: For now, the standard raster doesn't support direct composition but this should change for the final
  1901. release (see the files ‘demos/src/ftgrays.c’ and ‘demos/src/ftgrays2.c’ for examples of distinct
  1902. implementations which support direct composition).
  1903. </para></remarks>
  1904. <param name="raster">A handle to the raster object.</param>
  1905. <param name="params">
  1906. A pointer to an <see cref="T:SharpFont.RasterParams"/> structure used to store the rendering parameters.
  1907. </param>
  1908. <returns>Error code. 0 means success.</returns>
  1909. </member>
  1910. <member name="T:SharpFont.RasterFuncs">
  1911. <summary>
  1912. A structure used to describe a given raster class to the library.
  1913. </summary>
  1914. </member>
  1915. <member name="P:SharpFont.RasterFuncs.Format">
  1916. <summary>
  1917. Gets the supported glyph format for this raster.
  1918. </summary>
  1919. </member>
  1920. <member name="P:SharpFont.RasterFuncs.New">
  1921. <summary>
  1922. Gets the raster constructor.
  1923. </summary>
  1924. </member>
  1925. <member name="P:SharpFont.RasterFuncs.Reset">
  1926. <summary>
  1927. Gets a function used to reset the render pool within the raster.
  1928. </summary>
  1929. </member>
  1930. <member name="P:SharpFont.RasterFuncs.SetMode">
  1931. <summary>
  1932. Gets a function to set or change modes.
  1933. </summary>
  1934. </member>
  1935. <member name="P:SharpFont.RasterFuncs.Render">
  1936. <summary>
  1937. Gets a function to render a glyph into a given bitmap.
  1938. </summary>
  1939. </member>
  1940. <member name="P:SharpFont.RasterFuncs.Done">
  1941. <summary>
  1942. Gets the raster destructor.
  1943. </summary>
  1944. </member>
  1945. <member name="T:SharpFont.RasterSpanFunc">
  1946. <summary>
  1947. A function used as a call-back by the anti-aliased renderer in order to let client applications draw themselves
  1948. the gray pixel spans on each scan line.
  1949. </summary>
  1950. <remarks><para>
  1951. This callback allows client applications to directly render the gray spans of the anti-aliased bitmap to any
  1952. kind of surfaces.
  1953. </para><para>
  1954. This can be used to write anti-aliased outlines directly to a given background bitmap, and even perform
  1955. translucency.
  1956. </para><para>
  1957. Note that the ‘count’ field cannot be greater than a fixed value defined by the ‘FT_MAX_GRAY_SPANS’
  1958. configuration macro in ‘ftoption.h’. By default, this value is set to 32, which means that if there are more
  1959. than 32 spans on a given scanline, the callback is called several times with the same ‘y’ parameter in order to
  1960. draw all callbacks.
  1961. </para><para>
  1962. Otherwise, the callback is only called once per scan-line, and only for those scanlines that do have ‘gray’
  1963. pixels on them.
  1964. </para></remarks>
  1965. <param name="y">The scanline's y coordinate.</param>
  1966. <param name="count">The number of spans to draw on this scanline.</param>
  1967. <param name="spans">A table of ‘count’ spans to draw on the scanline.</param>
  1968. <param name="user">User-supplied data that is passed to the callback.</param>
  1969. </member>
  1970. <member name="T:SharpFont.RasterBitTestFunc">
  1971. <summary><para>
  1972. THIS TYPE IS DEPRECATED. DO NOT USE IT.
  1973. </para><para>
  1974. A function used as a call-back by the monochrome scan-converter to test whether a given target pixel is already
  1975. set to the drawing ‘color’. These tests are crucial to implement drop-out control per-se the TrueType spec.
  1976. </para></summary>
  1977. <param name="y">The pixel's y coordinate.</param>
  1978. <param name="x">The pixel's x coordinate.</param>
  1979. <param name="user">User-supplied data that is passed to the callback.</param>
  1980. <returns>1 if the pixel is ‘set’, 0 otherwise.</returns>
  1981. </member>
  1982. <member name="T:SharpFont.RasterBitSetFunc">
  1983. <summary><para>
  1984. THIS TYPE IS DEPRECATED. DO NOT USE IT.
  1985. </para><para>
  1986. A function used as a call-back by the monochrome scan-converter to set an individual target pixel. This is
  1987. crucial to implement drop-out control according to the TrueType specification.
  1988. </para></summary>
  1989. <param name="y">The pixel's y coordinate.</param>
  1990. <param name="x">The pixel's x coordinate.</param>
  1991. <param name="user">User-supplied data that is passed to the callback.</param>
  1992. </member>
  1993. <member name="T:SharpFont.RasterParams">
  1994. <summary>
  1995. A structure to hold the arguments used by a raster's render function.
  1996. </summary>
  1997. <remarks><para>
  1998. An anti-aliased glyph bitmap is drawn if the <see cref="F:SharpFont.RasterFlags.AntiAlias"/> bit flag is set in the ‘flags’
  1999. field, otherwise a monochrome bitmap is generated.
  2000. </para><para>
  2001. If the <see cref="F:SharpFont.RasterFlags.Direct"/> bit flag is set in ‘flags’, the raster will call the ‘gray_spans’
  2002. callback to draw gray pixel spans, in the case of an aa glyph bitmap, it will call ‘black_spans’, and
  2003. ‘bit_test’ and ‘bit_set’ in the case of a monochrome bitmap. This allows direct composition over a pre-existing
  2004. bitmap through user-provided callbacks to perform the span drawing/composition.
  2005. </para><para>
  2006. Note that the ‘bit_test’ and ‘bit_set’ callbacks are required when rendering a monochrome bitmap, as they are
  2007. crucial to implement correct drop-out control as defined in the TrueType specification.
  2008. </para></remarks>
  2009. </member>
  2010. <member name="P:SharpFont.RasterParams.Target">
  2011. <summary>
  2012. Gets the target bitmap.
  2013. </summary>
  2014. </member>
  2015. <member name="P:SharpFont.RasterParams.Source">
  2016. <summary>
  2017. Gets a pointer to the source glyph image (e.g., an <see cref="T:SharpFont.Outline"/>).
  2018. </summary>
  2019. </member>
  2020. <member name="P:SharpFont.RasterParams.Flags">
  2021. <summary>
  2022. Gets the rendering flags.
  2023. </summary>
  2024. </member>
  2025. <member name="P:SharpFont.RasterParams.GraySpans">
  2026. <summary>
  2027. Gets the gray span drawing callback.
  2028. </summary>
  2029. </member>
  2030. <member name="P:SharpFont.RasterParams.BlackSpans">
  2031. <summary>
  2032. Gets the black span drawing callback. UNIMPLEMENTED!
  2033. </summary>
  2034. </member>
  2035. <member name="P:SharpFont.RasterParams.BitTest">
  2036. <summary>
  2037. Gets the bit test callback. UNIMPLEMENTED!
  2038. </summary>
  2039. </member>
  2040. <member name="P:SharpFont.RasterParams.BitSet">
  2041. <summary>
  2042. Gets the bit set callback. UNIMPLEMENTED!
  2043. </summary>
  2044. </member>
  2045. <member name="P:SharpFont.RasterParams.User">
  2046. <summary>
  2047. Gets the user-supplied data that is passed to each drawing callback.
  2048. </summary>
  2049. </member>
  2050. <member name="P:SharpFont.RasterParams.ClipBox">
  2051. <summary>
  2052. Gets an optional clipping box. It is only used in direct rendering mode. Note that coordinates here should
  2053. be expressed in integer pixels (and not in 26.6 fixed-point units).
  2054. </summary>
  2055. </member>
  2056. <member name="T:SharpFont.Renderer">
  2057. <summary>
  2058. A handle to a given FreeType renderer. A renderer is a special module in charge of converting a glyph image to
  2059. a bitmap, when necessary. Each renderer supports a given glyph image format, and one or more target surface
  2060. depths.
  2061. </summary>
  2062. </member>
  2063. <member name="T:SharpFont.RendererClass">
  2064. <summary>
  2065. The renderer module class descriptor.
  2066. </summary>
  2067. </member>
  2068. <member name="P:SharpFont.RendererClass.Root">
  2069. <summary>
  2070. Gets the root <see cref="T:SharpFont.ModuleClass"/> fields.
  2071. </summary>
  2072. </member>
  2073. <member name="P:SharpFont.RendererClass.Format">
  2074. <summary>
  2075. Gets the glyph image format this renderer handles.
  2076. </summary>
  2077. </member>
  2078. <member name="P:SharpFont.RendererClass.RenderGlyph">
  2079. <summary>
  2080. Gets a method used to render the image that is in a given glyph slot into a bitmap.
  2081. </summary>
  2082. </member>
  2083. <member name="P:SharpFont.RendererClass.TransformGlyph">
  2084. <summary>
  2085. Gets a method used to transform the image that is in a given glyph slot.
  2086. </summary>
  2087. </member>
  2088. <member name="P:SharpFont.RendererClass.GetGlyphCBox">
  2089. <summary>
  2090. Gets a method used to access the glyph's cbox.
  2091. </summary>
  2092. </member>
  2093. <member name="P:SharpFont.RendererClass.SetMode">
  2094. <summary>
  2095. Gets a method used to pass additional parameters.
  2096. </summary>
  2097. </member>
  2098. <member name="P:SharpFont.RendererClass.RasterClass">
  2099. <summary>
  2100. Gets a pointer to its raster's class.
  2101. </summary>
  2102. <remarks>For <see cref="F:SharpFont.GlyphFormat.Outline"/> renderers only.</remarks>
  2103. </member>
  2104. <member name="T:SharpFont.StreamDesc">
  2105. <summary>
  2106. A union type used to store either a long or a pointer. This is used to store a file descriptor or a ‘FILE*’ in
  2107. an input stream.
  2108. </summary>
  2109. </member>
  2110. <member name="P:SharpFont.StreamDesc.Value">
  2111. <summary>
  2112. Gets the <see cref="T:SharpFont.StreamDesc"/> as a file descriptor.
  2113. </summary>
  2114. </member>
  2115. <member name="P:SharpFont.StreamDesc.Pointer">
  2116. <summary>
  2117. Gets the <see cref="T:SharpFont.StreamDesc"/> as an input stream (FILE*).
  2118. </summary>
  2119. </member>
  2120. <member name="T:SharpFont.Stroker">
  2121. <summary>
  2122. Opaque handler to a path stroker object.
  2123. </summary>
  2124. </member>
  2125. <member name="M:SharpFont.Stroker.#ctor(SharpFont.Library)">
  2126. <summary>
  2127. Initializes a new instance of the <see cref="T:SharpFont.Stroker"/> class.
  2128. </summary>
  2129. <param name="library">FreeType library handle.</param>
  2130. </member>
  2131. <member name="M:SharpFont.Stroker.Finalize">
  2132. <summary>
  2133. Finalizes an instance of the <see cref="T:SharpFont.Stroker"/> class.
  2134. </summary>
  2135. </member>
  2136. <member name="P:SharpFont.Stroker.IsDisposed">
  2137. <summary>
  2138. Gets a value indicating whether the <see cref="T:SharpFont.Stroker"/> has been disposed.
  2139. </summary>
  2140. </member>
  2141. <member name="M:SharpFont.Stroker.Set(System.Int32,SharpFont.StrokerLineCap,SharpFont.StrokerLineJoin,System.Int32)">
  2142. <summary>
  2143. Reset a stroker object's attributes.
  2144. </summary>
  2145. <remarks>
  2146. The radius is expressed in the same units as the outline coordinates.
  2147. </remarks>
  2148. <param name="radius">The border radius.</param>
  2149. <param name="lineCap">The line cap style.</param>
  2150. <param name="lineJoin">The line join style.</param>
  2151. <param name="miterLimit">
  2152. The miter limit for the <see cref="F:SharpFont.StrokerLineJoin.MiterFixed"/> and
  2153. <see cref="F:SharpFont.StrokerLineJoin.MiterVariable"/> line join styles, expressed as 16.16 fixed point value.
  2154. </param>
  2155. </member>
  2156. <member name="M:SharpFont.Stroker.Rewind">
  2157. <summary>
  2158. Reset a stroker object without changing its attributes. You should call this function before beginning a
  2159. new series of calls to <see cref="M:SharpFont.Stroker.BeginSubPath(SharpFont.FTVector,System.Boolean)"/> or <see cref="M:SharpFont.Stroker.EndSubPath"/>.
  2160. </summary>
  2161. </member>
  2162. <member name="M:SharpFont.Stroker.ParseOutline(SharpFont.Outline,System.Boolean)">
  2163. <summary>
  2164. A convenience function used to parse a whole outline with the stroker. The resulting outline(s) can be
  2165. retrieved later by functions like <see cref="M:SharpFont.Stroker.GetCounts(System.UInt32@,System.UInt32@)"/> and <see cref="M:SharpFont.Stroker.Export(SharpFont.Outline)"/>.
  2166. </summary>
  2167. <remarks><para>
  2168. If ‘opened’ is 0 (the default), the outline is treated as a closed path, and the stroker generates two
  2169. distinct ‘border’ outlines.
  2170. </para><para>
  2171. If ‘opened’ is 1, the outline is processed as an open path, and the stroker generates a single ‘stroke’
  2172. outline.
  2173. </para><para>
  2174. This function calls <see cref="M:SharpFont.Stroker.Rewind"/> automatically.
  2175. </para></remarks>
  2176. <param name="outline">The source outline.</param>
  2177. <param name="opened">
  2178. A boolean. If 1, the outline is treated as an open path instead of a closed one.
  2179. </param>
  2180. </member>
  2181. <member name="M:SharpFont.Stroker.BeginSubPath(SharpFont.FTVector,System.Boolean)">
  2182. <summary>
  2183. Start a new sub-path in the stroker.
  2184. </summary>
  2185. <remarks>
  2186. This function is useful when you need to stroke a path that is not stored as an <see cref="T:SharpFont.Outline"/>
  2187. object.
  2188. </remarks>
  2189. <param name="to">A pointer to the start vector.</param>
  2190. <param name="open">A boolean. If 1, the sub-path is treated as an open one.</param>
  2191. </member>
  2192. <member name="M:SharpFont.Stroker.EndSubPath">
  2193. <summary>
  2194. Close the current sub-path in the stroker.
  2195. </summary>
  2196. <remarks>
  2197. You should call this function after <see cref="M:SharpFont.Stroker.BeginSubPath(SharpFont.FTVector,System.Boolean)"/>. If the subpath was not ‘opened’, this
  2198. function ‘draws’ a single line segment to the start position when needed.
  2199. </remarks>
  2200. </member>
  2201. <member name="M:SharpFont.Stroker.LineTo(SharpFont.FTVector)">
  2202. <summary>
  2203. ‘Draw’ a single line segment in the stroker's current sub-path, from the last position.
  2204. </summary>
  2205. <remarks>
  2206. You should call this function between <see cref="M:SharpFont.Stroker.BeginSubPath(SharpFont.FTVector,System.Boolean)"/> and <see cref="M:SharpFont.Stroker.EndSubPath"/>.
  2207. </remarks>
  2208. <param name="to">A pointer to the destination point.</param>
  2209. </member>
  2210. <member name="M:SharpFont.Stroker.ConicTo(SharpFont.FTVector,SharpFont.FTVector)">
  2211. <summary>
  2212. ‘Draw’ a single quadratic Bézier in the stroker's current sub-path, from the last position.
  2213. </summary>
  2214. <remarks>
  2215. You should call this function between <see cref="M:SharpFont.Stroker.BeginSubPath(SharpFont.FTVector,System.Boolean)"/> and <see cref="M:SharpFont.Stroker.EndSubPath"/>.
  2216. </remarks>
  2217. <param name="control">A pointer to a Bézier control point.</param>
  2218. <param name="to">A pointer to the destination point.</param>
  2219. </member>
  2220. <member name="M:SharpFont.Stroker.CubicTo(SharpFont.FTVector,SharpFont.FTVector,SharpFont.FTVector)">
  2221. <summary>
  2222. ‘Draw’ a single cubic Bézier in the stroker's current sub-path, from the last position.
  2223. </summary>
  2224. <remarks>
  2225. You should call this function between <see cref="M:SharpFont.Stroker.BeginSubPath(SharpFont.FTVector,System.Boolean)"/> and <see cref="M:SharpFont.Stroker.EndSubPath"/>.
  2226. </remarks>
  2227. <param name="control1">A pointer to the first Bézier control point.</param>
  2228. <param name="control2">A pointer to second Bézier control point.</param>
  2229. <param name="to">A pointer to the destination point.</param>
  2230. </member>
  2231. <member name="M:SharpFont.Stroker.GetBorderCounts(SharpFont.StrokerBorder,System.UInt32@,System.UInt32@)">
  2232. <summary>
  2233. Call this function once you have finished parsing your paths with the stroker. It returns the number of
  2234. points and contours necessary to export one of the ‘border’ or ‘stroke’ outlines generated by the stroker.
  2235. </summary>
  2236. <remarks><para>
  2237. When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named
  2238. ‘left’ and ‘right’.
  2239. </para><para>
  2240. When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The
  2241. ‘left’ border receives all points, while the ‘right’ border becomes empty.
  2242. </para><para>
  2243. Use the function <see cref="M:SharpFont.Stroker.GetCounts(System.UInt32@,System.UInt32@)"/> instead if you want to retrieve the counts associated to both
  2244. borders.
  2245. </para></remarks>
  2246. <param name="border">The border index.</param>
  2247. <param name="pointsCount">The number of points.</param>
  2248. <param name="contoursCount">The number of contours.</param>
  2249. </member>
  2250. <member name="M:SharpFont.Stroker.ExportBorder(SharpFont.StrokerBorder,SharpFont.Outline)">
  2251. <summary><para>
  2252. Call this function after <see cref="M:SharpFont.Stroker.GetBorderCounts(SharpFont.StrokerBorder,System.UInt32@,System.UInt32@)"/> to export the corresponding border to your own
  2253. <see cref="T:SharpFont.Outline"/> structure.
  2254. </para><para>
  2255. Note that this function appends the border points and contours to your outline, but does not try to resize
  2256. its arrays.
  2257. </para></summary>
  2258. <remarks><para>
  2259. Always call this function after <see cref="M:SharpFont.Stroker.GetBorderCounts(SharpFont.StrokerBorder,System.UInt32@,System.UInt32@)"/> to get sure that there is enough room in your
  2260. <see cref="T:SharpFont.Outline"/> object to receive all new data.
  2261. </para><para>
  2262. When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named
  2263. ‘left’ and ‘right’.
  2264. </para><para>
  2265. When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The
  2266. ‘left’ border receives all points, while the ‘right’ border becomes empty.
  2267. </para><para>
  2268. Use the function <see cref="M:SharpFont.Stroker.Export(SharpFont.Outline)"/> instead if you want to retrieve all borders at once.
  2269. </para></remarks>
  2270. <param name="border">The border index.</param>
  2271. <param name="outline">The target outline handle.</param>
  2272. </member>
  2273. <member name="M:SharpFont.Stroker.GetCounts(System.UInt32@,System.UInt32@)">
  2274. <summary>
  2275. Call this function once you have finished parsing your paths with the stroker. It returns the number of
  2276. points and contours necessary to export all points/borders from the stroked outline/path.
  2277. </summary>
  2278. <param name="pointsCount">The number of points.</param>
  2279. <param name="contoursCount">The number of contours.</param>
  2280. </member>
  2281. <member name="M:SharpFont.Stroker.Export(SharpFont.Outline)">
  2282. <summary><para>
  2283. Call this function after <see cref="M:SharpFont.Stroker.GetBorderCounts(SharpFont.StrokerBorder,System.UInt32@,System.UInt32@)"/> to export all borders to your own
  2284. <see cref="T:SharpFont.Outline"/> structure.
  2285. </para><para>
  2286. Note that this function appends the border points and contours to your outline, but does not try to resize
  2287. its arrays.
  2288. </para></summary>
  2289. <param name="outline">The target outline handle.</param>
  2290. </member>
  2291. <member name="M:SharpFont.Stroker.Dispose">
  2292. <summary>
  2293. Disposes an instance of the <see cref="T:SharpFont.Stroker"/> class.
  2294. </summary>
  2295. </member>
  2296. <member name="T:SharpFont.StrokerBorder">
  2297. <summary>
  2298. These values are used to select a given stroke border in <see cref="M:SharpFont.Stroker.GetBorderCounts(SharpFont.StrokerBorder,System.UInt32@,System.UInt32@)"/> and
  2299. <see cref="M:SharpFont.Stroker.ExportBorder(SharpFont.StrokerBorder,SharpFont.Outline)"/>.
  2300. </summary>
  2301. <remarks><para>
  2302. Applications are generally interested in the ‘inside’ and ‘outside’ borders. However, there is no direct
  2303. mapping between these and the ‘left’ and ‘right’ ones, since this really depends on the glyph's drawing
  2304. orientation, which varies between font formats.
  2305. </para><para>
  2306. You can however use <see cref="M:SharpFont.Outline.GetInsideBorder"/> and <see cref="M:SharpFont.Outline.GetOutsideBorder"/> to get
  2307. these.
  2308. </para></remarks>
  2309. </member>
  2310. <member name="F:SharpFont.StrokerBorder.Left">
  2311. <summary>
  2312. Select the left border, relative to the drawing direction.
  2313. </summary>
  2314. </member>
  2315. <member name="F:SharpFont.StrokerBorder.Right">
  2316. <summary>
  2317. Select the right border, relative to the drawing direction.
  2318. </summary>
  2319. </member>
  2320. <member name="T:SharpFont.StrokerLineCap">
  2321. <summary>
  2322. These values determine how the end of opened sub-paths are rendered in a stroke.
  2323. </summary>
  2324. </member>
  2325. <member name="F:SharpFont.StrokerLineCap.Butt">
  2326. <summary>
  2327. The end of lines is rendered as a full stop on the last point itself.
  2328. </summary>
  2329. </member>
  2330. <member name="F:SharpFont.StrokerLineCap.Round">
  2331. <summary>
  2332. The end of lines is rendered as a half-circle around the last point.
  2333. </summary>
  2334. </member>
  2335. <member name="F:SharpFont.StrokerLineCap.Square">
  2336. <summary>
  2337. The end of lines is rendered as a square around the last point.
  2338. </summary>
  2339. </member>
  2340. <member name="T:SharpFont.StrokerLineJoin">
  2341. <summary>
  2342. These values determine how two joining lines are rendered in a stroker.
  2343. </summary>
  2344. </member>
  2345. <member name="F:SharpFont.StrokerLineJoin.Round">
  2346. <summary>
  2347. Used to render rounded line joins. Circular arcs are used to join two lines smoothly.
  2348. </summary>
  2349. </member>
  2350. <member name="F:SharpFont.StrokerLineJoin.Bevel">
  2351. <summary>
  2352. Used to render beveled line joins. The outer corner of the joined lines is filled by enclosing the
  2353. triangular region of the corner with a straight line between the outer corners of each stroke.
  2354. </summary>
  2355. </member>
  2356. <member name="F:SharpFont.StrokerLineJoin.MiterVariable">
  2357. <summary>
  2358. Used to render mitered line joins, with fixed bevels if the miter limit is exceeded. The outer edges of the
  2359. strokes for the two segments are extended until they meet at an angle. If the segments meet at too sharp an
  2360. angle (such that the miter would extend from the intersection of the segments a distance greater than the
  2361. product of the miter limit value and the border radius), then a bevel join (see above) is used instead.
  2362. This prevents long spikes being created. <see cref="F:SharpFont.StrokerLineJoin.MiterFixed"/> generates a miter line join as used in
  2363. PostScript and PDF.
  2364. </summary>
  2365. </member>
  2366. <member name="F:SharpFont.StrokerLineJoin.Miter">
  2367. <summary>
  2368. An alias for <see cref="F:SharpFont.StrokerLineJoin.MiterVariable"/>, retained for backwards compatibility.
  2369. </summary>
  2370. </member>
  2371. <member name="F:SharpFont.StrokerLineJoin.MiterFixed">
  2372. <summary>
  2373. Used to render mitered line joins, with variable bevels if the miter limit is exceeded. The intersection of
  2374. the strokes is clipped at a line perpendicular to the bisector of the angle between the strokes, at the
  2375. distance from the intersection of the segments equal to the product of the miter limit value and the border
  2376. radius. This prevents long spikes being created. <see cref="F:SharpFont.StrokerLineJoin.MiterVariable"/> generates a mitered line join
  2377. as used in XPS.
  2378. </summary>
  2379. </member>
  2380. <member name="T:SharpFont.TrueTypeValidationFlags">
  2381. <summary>
  2382. A list of bit-field constants used with <see cref="M:SharpFont.Face.TrueTypeGXValidate(SharpFont.TrueTypeValidationFlags,System.Byte[][],System.UInt32)"/> to indicate which TrueTypeGX/AAT
  2383. Type tables should be validated.
  2384. </summary>
  2385. </member>
  2386. <member name="F:SharpFont.TrueTypeValidationFlags.Feat">
  2387. <summary>Validate ‘feat’ table.</summary>
  2388. </member>
  2389. <member name="F:SharpFont.TrueTypeValidationFlags.Mort">
  2390. <summary>Validate ‘mort’ table.</summary>
  2391. </member>
  2392. <member name="F:SharpFont.TrueTypeValidationFlags.Morx">
  2393. <summary>Validate ‘morx’ table.</summary>
  2394. </member>
  2395. <member name="F:SharpFont.TrueTypeValidationFlags.Bsln">
  2396. <summary>Validate ‘bsln’ table.</summary>
  2397. </member>
  2398. <member name="F:SharpFont.TrueTypeValidationFlags.Just">
  2399. <summary>Validate ‘just’ table.</summary>
  2400. </member>
  2401. <member name="F:SharpFont.TrueTypeValidationFlags.Kern">
  2402. <summary>Validate ‘kern’ table.</summary>
  2403. </member>
  2404. <member name="F:SharpFont.TrueTypeValidationFlags.Opbd">
  2405. <summary>Validate ‘opbd’ table.</summary>
  2406. </member>
  2407. <member name="F:SharpFont.TrueTypeValidationFlags.Trak">
  2408. <summary>Validate ‘trak’ table.</summary>
  2409. </member>
  2410. <member name="F:SharpFont.TrueTypeValidationFlags.Prop">
  2411. <summary>Validate ‘prop’ table.</summary>
  2412. </member>
  2413. <member name="F:SharpFont.TrueTypeValidationFlags.Lcar">
  2414. <summary>Validate ‘lcar’ table.</summary>
  2415. </member>
  2416. <member name="F:SharpFont.TrueTypeValidationFlags.All">
  2417. <summary>Validate all TrueTypeGX tables.</summary>
  2418. </member>
  2419. <member name="T:SharpFont.TrueType.SfntName">
  2420. <summary>
  2421. A structure used to model an SFNT ‘name’ table entry.
  2422. </summary>
  2423. <remarks>
  2424. Possible values for ‘platform_id’, ‘encoding_id’, ‘language_id’, and ‘name_id’ are given in the file
  2425. ‘ttnameid.h’. For details please refer to the TrueType or OpenType specification.
  2426. </remarks>
  2427. <see cref="P:SharpFont.TrueType.SfntName.PlatformId"/>
  2428. <see cref="T:SharpFont.TrueType.AppleEncodingId"/>
  2429. <see cref="T:SharpFont.TrueType.MacEncodingId"/>
  2430. <see cref="T:SharpFont.TrueType.MicrosoftEncodingId"/>
  2431. </member>
  2432. <member name="P:SharpFont.TrueType.SfntName.PlatformId">
  2433. <summary>
  2434. Gets the platform ID for ‘string’.
  2435. </summary>
  2436. </member>
  2437. <member name="P:SharpFont.TrueType.SfntName.EncodingId">
  2438. <summary>
  2439. Gets the encoding ID for ‘string’.
  2440. </summary>
  2441. </member>
  2442. <member name="P:SharpFont.TrueType.SfntName.LanguageId">
  2443. <summary>
  2444. Gets the language ID for ‘string’.
  2445. </summary>
  2446. </member>
  2447. <member name="P:SharpFont.TrueType.SfntName.NameId">
  2448. <summary>
  2449. Gets an identifier for ‘string’.
  2450. </summary>
  2451. </member>
  2452. <member name="P:SharpFont.TrueType.SfntName.String">
  2453. <summary><para>
  2454. Gets the ‘name’ string. Note that its format differs depending on the (platform,encoding) pair. It can be a
  2455. Pascal String, a UTF-16 one, etc.
  2456. </para><para>
  2457. Generally speaking, the string is not zero-terminated. Please refer to the TrueType specification for
  2458. details.
  2459. </para></summary>
  2460. </member>
  2461. <member name="T:SharpFont.TrueType.AppleEncodingId">
  2462. <summary>
  2463. A list of valid values for the ‘encoding_id’ for TT_PLATFORM_APPLE_UNICODE charmaps and name entries.
  2464. </summary>
  2465. </member>
  2466. <member name="F:SharpFont.TrueType.AppleEncodingId.Default">
  2467. <summary>Unicode version 1.0.</summary>
  2468. </member>
  2469. <member name="F:SharpFont.TrueType.AppleEncodingId.Unicode11">
  2470. <summary>Unicode 1.1; specifies Hangul characters starting at U+34xx.</summary>
  2471. </member>
  2472. <member name="F:SharpFont.TrueType.AppleEncodingId.Iso10646">
  2473. <summary>Deprecated (identical to preceding).</summary>
  2474. </member>
  2475. <member name="F:SharpFont.TrueType.AppleEncodingId.Unicode20">
  2476. <summary>Unicode 2.0 and beyond (UTF-16 BMP only).</summary>
  2477. </member>
  2478. <member name="F:SharpFont.TrueType.AppleEncodingId.Unicode32">
  2479. <summary>Unicode 3.1 and beyond, using UTF-32.</summary>
  2480. </member>
  2481. <member name="F:SharpFont.TrueType.AppleEncodingId.VariantSelector">
  2482. <summary>From Adobe, not Apple. Not a normal cmap. Specifies variations on a real cmap.</summary>
  2483. </member>
  2484. <member name="T:SharpFont.TrueType.MacEncodingId">
  2485. <summary>
  2486. A list of valid values for the ‘encoding_id’ for TT_PLATFORM_MACINTOSH charmaps and name entries.
  2487. </summary>
  2488. </member>
  2489. <member name="F:SharpFont.TrueType.MacEncodingId.Roman">
  2490. <summary>Roman encoding.</summary>
  2491. </member>
  2492. <member name="F:SharpFont.TrueType.MacEncodingId.Japanese">
  2493. <summary>Japanese encoding.</summary>
  2494. </member>
  2495. <member name="F:SharpFont.TrueType.MacEncodingId.TraditionalChinese">
  2496. <summary>Traditional Chinese encoding.</summary>
  2497. </member>
  2498. <member name="F:SharpFont.TrueType.MacEncodingId.Korean">
  2499. <summary>Korean encoding.</summary>
  2500. </member>
  2501. <member name="F:SharpFont.TrueType.MacEncodingId.Arabic">
  2502. <summary>Arabic encoding.</summary>
  2503. </member>
  2504. <member name="F:SharpFont.TrueType.MacEncodingId.Hebrew">
  2505. <summary>Hebrew encoding.</summary>
  2506. </member>
  2507. <member name="F:SharpFont.TrueType.MacEncodingId.Greek">
  2508. <summary>Greek encoding.</summary>
  2509. </member>
  2510. <member name="F:SharpFont.TrueType.MacEncodingId.Russian">
  2511. <summary>Russian encoding.</summary>
  2512. </member>
  2513. <member name="F:SharpFont.TrueType.MacEncodingId.RSymbol">
  2514. <summary>RSymbol encoding.</summary>
  2515. </member>
  2516. <member name="F:SharpFont.TrueType.MacEncodingId.Devanagari">
  2517. <summary>Devanagari encoding.</summary>
  2518. </member>
  2519. <member name="F:SharpFont.TrueType.MacEncodingId.Gurmukhi">
  2520. <summary>Gurmukhi encoding.</summary>
  2521. </member>
  2522. <member name="F:SharpFont.TrueType.MacEncodingId.Gujarati">
  2523. <summary>Gujarati encoding.</summary>
  2524. </member>
  2525. <member name="F:SharpFont.TrueType.MacEncodingId.Oriya">
  2526. <summary>Oriya encoding.</summary>
  2527. </member>
  2528. <member name="F:SharpFont.TrueType.MacEncodingId.Bengali">
  2529. <summary>Bengali encoding.</summary>
  2530. </member>
  2531. <member name="F:SharpFont.TrueType.MacEncodingId.Tamil">
  2532. <summary>Tamil encoding.</summary>
  2533. </member>
  2534. <member name="F:SharpFont.TrueType.MacEncodingId.Telugu">
  2535. <summary>Telugu encoding.</summary>
  2536. </member>
  2537. <member name="F:SharpFont.TrueType.MacEncodingId.Kannada">
  2538. <summary>Kannada encoding.</summary>
  2539. </member>
  2540. <member name="F:SharpFont.TrueType.MacEncodingId.Malayalam">
  2541. <summary>Malayalam encoding.</summary>
  2542. </member>
  2543. <member name="F:SharpFont.TrueType.MacEncodingId.Sinhalese">
  2544. <summary>Sinhalese encoding.</summary>
  2545. </member>
  2546. <member name="F:SharpFont.TrueType.MacEncodingId.Burmese">
  2547. <summary>Burmese encoding.</summary>
  2548. </member>
  2549. <member name="F:SharpFont.TrueType.MacEncodingId.Khmer">
  2550. <summary>Khmer encoding.</summary>
  2551. </member>
  2552. <member name="F:SharpFont.TrueType.MacEncodingId.Thai">
  2553. <summary>Thai encoding.</summary>
  2554. </member>
  2555. <member name="F:SharpFont.TrueType.MacEncodingId.Laotian">
  2556. <summary>Laotian encoding.</summary>
  2557. </member>
  2558. <member name="F:SharpFont.TrueType.MacEncodingId.Georgian">
  2559. <summary>Georgian encoding.</summary>
  2560. </member>
  2561. <member name="F:SharpFont.TrueType.MacEncodingId.Armenian">
  2562. <summary>Amernian encoding.</summary>
  2563. </member>
  2564. <member name="F:SharpFont.TrueType.MacEncodingId.Maldivian">
  2565. <summary>Maldivian encoding.</summary>
  2566. </member>
  2567. <member name="F:SharpFont.TrueType.MacEncodingId.SimplifiedChinese">
  2568. <summary>Simplified Chinese encoding.</summary>
  2569. </member>
  2570. <member name="F:SharpFont.TrueType.MacEncodingId.Tibetan">
  2571. <summary>Tibetan encoding.</summary>
  2572. </member>
  2573. <member name="F:SharpFont.TrueType.MacEncodingId.Mongolian">
  2574. <summary>Mongolian encoding.</summary>
  2575. </member>
  2576. <member name="F:SharpFont.TrueType.MacEncodingId.Geez">
  2577. <summary>Geez encoding.</summary>
  2578. </member>
  2579. <member name="F:SharpFont.TrueType.MacEncodingId.Slavic">
  2580. <summary>Slavic encoding.</summary>
  2581. </member>
  2582. <member name="F:SharpFont.TrueType.MacEncodingId.Vietnamese">
  2583. <summary>Vietnamese encoding.</summary>
  2584. </member>
  2585. <member name="F:SharpFont.TrueType.MacEncodingId.Sindhi">
  2586. <summary>Sindhi encoding.</summary>
  2587. </member>
  2588. <member name="F:SharpFont.TrueType.MacEncodingId.Uninterpreted">
  2589. <summary>No encoding specified.</summary>
  2590. </member>
  2591. <member name="T:SharpFont.TrueType.MicrosoftEncodingId">
  2592. <summary>
  2593. A list of valid values for the ‘encoding_id’ for TT_PLATFORM_MICROSOFT charmaps and name entries.
  2594. </summary>
  2595. </member>
  2596. <member name="F:SharpFont.TrueType.MicrosoftEncodingId.Symbol">
  2597. <summary>
  2598. Corresponds to Microsoft symbol encoding. See FT_ENCODING_MS_SYMBOL.
  2599. </summary>
  2600. </member>
  2601. <member name="F:SharpFont.TrueType.MicrosoftEncodingId.Unicode">
  2602. <summary>
  2603. Corresponds to a Microsoft WGL4 charmap, matching Unicode. See FT_ENCODING_UNICODE.
  2604. </summary>
  2605. </member>
  2606. <member name="F:SharpFont.TrueType.MicrosoftEncodingId.Sjis">
  2607. <summary>
  2608. Corresponds to SJIS Japanese encoding. See FT_ENCODING_SJIS.
  2609. </summary>
  2610. </member>
  2611. <member name="F:SharpFont.TrueType.MicrosoftEncodingId.GB2312">
  2612. <summary>
  2613. Corresponds to Simplified Chinese as used in Mainland China. See FT_ENCODING_GB2312.
  2614. </summary>
  2615. </member>
  2616. <member name="F:SharpFont.TrueType.MicrosoftEncodingId.Big5">
  2617. <summary>
  2618. Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. See FT_ENCODING_BIG5.
  2619. </summary>
  2620. </member>
  2621. <member name="F:SharpFont.TrueType.MicrosoftEncodingId.Wansung">
  2622. <summary>
  2623. Corresponds to Korean Wansung encoding. See FT_ENCODING_WANSUNG.
  2624. </summary>
  2625. </member>
  2626. <member name="F:SharpFont.TrueType.MicrosoftEncodingId.Johab">
  2627. <summary>
  2628. Corresponds to Johab encoding. See FT_ENCODING_JOHAB.
  2629. </summary>
  2630. </member>
  2631. <member name="F:SharpFont.TrueType.MicrosoftEncodingId.Ucs4">
  2632. <summary>
  2633. Corresponds to UCS-4 or UTF-32 charmaps. This has been added to the OpenType specification version 1.4
  2634. (mid-2001.)
  2635. </summary>
  2636. </member>
  2637. <member name="T:SharpFont.TrueType.AdobeEncodingId">
  2638. <summary>
  2639. A list of valid values for the ‘encoding_id’ for TT_PLATFORM_ADOBE charmaps. This is a FreeType-specific
  2640. extension!
  2641. </summary>
  2642. </member>
  2643. <member name="F:SharpFont.TrueType.AdobeEncodingId.Standard">
  2644. <summary>Adobe standard encoding.</summary>
  2645. </member>
  2646. <member name="F:SharpFont.TrueType.AdobeEncodingId.Expert">
  2647. <summary>Adobe expert encoding.</summary>
  2648. </member>
  2649. <member name="F:SharpFont.TrueType.AdobeEncodingId.Custom">
  2650. <summary>Adobe custom encoding.</summary>
  2651. </member>
  2652. <member name="F:SharpFont.TrueType.AdobeEncodingId.Latin1">
  2653. <summary>Adobe Latin 1 encoding.</summary>
  2654. </member>
  2655. <member name="T:SharpFont.TrueType.Header">
  2656. <summary>
  2657. A structure used to model a TrueType font header table. All fields follow the TrueType specification.
  2658. </summary>
  2659. </member>
  2660. <member name="T:SharpFont.TrueType.HoriHeader">
  2661. <summary>
  2662. A structure used to model a TrueType horizontal header, the ‘hhea’ table, as well as the corresponding
  2663. horizontal metrics table, i.e., the ‘hmtx’ table.
  2664. </summary>
  2665. <remarks><para>
  2666. IMPORTANT: The <see cref="T:SharpFont.TrueType.HoriHeader"/> and <see cref="T:SharpFont.TrueType.VertHeader"/> structures should be identical except for
  2667. the names of their fields which are different.
  2668. </para><para>
  2669. This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical
  2670. headers.
  2671. </para></remarks>
  2672. </member>
  2673. <member name="P:SharpFont.TrueType.HoriHeader.Version">
  2674. <summary>
  2675. Gets the table version.
  2676. </summary>
  2677. </member>
  2678. <member name="P:SharpFont.TrueType.HoriHeader.Ascender">
  2679. <summary><para>
  2680. Gets the font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in
  2681. the font.
  2682. </para><para>
  2683. This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a
  2684. portion of the glyphs found in the font (maybe ASCII).
  2685. </para><para>
  2686. You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.
  2687. </para></summary>
  2688. </member>
  2689. <member name="P:SharpFont.TrueType.HoriHeader.Descender">
  2690. <summary><para>
  2691. Gets the font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points
  2692. found in the font. It is negative.
  2693. </para><para>
  2694. This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a
  2695. portion of the glyphs found in the font (maybe ASCII).
  2696. </para><para>
  2697. You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.
  2698. </para></summary>
  2699. </member>
  2700. <member name="P:SharpFont.TrueType.HoriHeader.LineGap">
  2701. <summary>
  2702. Gets the font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the
  2703. baseline-to-baseline distance for the font.
  2704. </summary>
  2705. </member>
  2706. <member name="P:SharpFont.TrueType.HoriHeader.AdvanceWidthMax">
  2707. <summary>
  2708. Gets the maximum of all advance widths found in the font. It can be used to compute the maximum width of an
  2709. arbitrary string of text.
  2710. </summary>
  2711. </member>
  2712. <member name="P:SharpFont.TrueType.HoriHeader.MinimumLeftSideBearing">
  2713. <summary>
  2714. Gets the minimum left side bearing of all glyphs within the font.
  2715. </summary>
  2716. </member>
  2717. <member name="P:SharpFont.TrueType.HoriHeader.MinimumRightSideBearing">
  2718. <summary>
  2719. Gets the minimum right side bearing of all glyphs within the font.
  2720. </summary>
  2721. </member>
  2722. <member name="P:SharpFont.TrueType.HoriHeader.MaximumExtentX">
  2723. <summary>
  2724. Gets the maximum horizontal extent (i.e., the ‘width’ of a glyph's bounding box) for all glyphs in the
  2725. font.
  2726. </summary>
  2727. </member>
  2728. <member name="P:SharpFont.TrueType.HoriHeader.CaretSlopeRise">
  2729. <summary>
  2730. Gets the rise coefficient of the cursor's slope of the cursor (slope=rise/run).
  2731. </summary>
  2732. </member>
  2733. <member name="P:SharpFont.TrueType.HoriHeader.CaretSlopeRun">
  2734. <summary>
  2735. Gets the run coefficient of the cursor's slope.
  2736. </summary>
  2737. </member>
  2738. <member name="P:SharpFont.TrueType.HoriHeader.Reserved">
  2739. <summary>
  2740. Gets the 8 reserved bytes.
  2741. </summary>
  2742. </member>
  2743. <member name="P:SharpFont.TrueType.HoriHeader.MetricDataFormat">
  2744. <summary>
  2745. Gets 0, always.
  2746. </summary>
  2747. </member>
  2748. <member name="P:SharpFont.TrueType.HoriHeader.HMetricsCount">
  2749. <summary>
  2750. Gets the number of HMetrics entries in the ‘hmtx’ table -- this value can be smaller than the total number
  2751. of glyphs in the font.
  2752. </summary>
  2753. </member>
  2754. <member name="P:SharpFont.TrueType.HoriHeader.LongMetrics">
  2755. <summary>
  2756. Gets a pointer into the ‘hmtx’ table.
  2757. </summary>
  2758. </member>
  2759. <member name="P:SharpFont.TrueType.HoriHeader.ShortMetrics">
  2760. <summary>
  2761. Gets a pointer into the ‘hmtx’ table.
  2762. </summary>
  2763. </member>
  2764. <member name="T:SharpFont.TrueType.MaxProfile">
  2765. <summary>
  2766. The maximum profile is a table containing many max values which can be used to pre-allocate arrays. This
  2767. ensures that no memory allocation occurs during a glyph load.
  2768. </summary>
  2769. <remarks>
  2770. This structure is only used during font loading.
  2771. </remarks>
  2772. </member>
  2773. <member name="P:SharpFont.TrueType.MaxProfile.Version">
  2774. <summary>
  2775. Gets the version number.
  2776. </summary>
  2777. </member>
  2778. <member name="P:SharpFont.TrueType.MaxProfile.GlyphCount">
  2779. <summary>
  2780. Gets the number of glyphs in this TrueType font.
  2781. </summary>
  2782. </member>
  2783. <member name="P:SharpFont.TrueType.MaxProfile.MaxPoints">
  2784. <summary>
  2785. Gets the maximum number of points in a non-composite TrueType glyph. See also the structure element
  2786. ‘maxCompositePoints’.
  2787. </summary>
  2788. </member>
  2789. <member name="P:SharpFont.TrueType.MaxProfile.MaxContours">
  2790. <summary>
  2791. Gets the maximum number of contours in a non-composite TrueType glyph. See also the structure element
  2792. ‘maxCompositeContours’.
  2793. </summary>
  2794. </member>
  2795. <member name="P:SharpFont.TrueType.MaxProfile.MaxCompositePoints">
  2796. <summary>
  2797. Gets the maximum number of points in a composite TrueType glyph. See also the structure element
  2798. ‘maxPoints’.
  2799. </summary>
  2800. </member>
  2801. <member name="P:SharpFont.TrueType.MaxProfile.MaxCompositeContours">
  2802. <summary>
  2803. Gets the maximum number of contours in a composite TrueType glyph. See also the structure element
  2804. ‘maxContours’.
  2805. </summary>
  2806. </member>
  2807. <member name="P:SharpFont.TrueType.MaxProfile.MaxZones">
  2808. <summary>
  2809. Gets the maximum number of zones used for glyph hinting.
  2810. </summary>
  2811. </member>
  2812. <member name="P:SharpFont.TrueType.MaxProfile.MaxTwilightPoints">
  2813. <summary>
  2814. Gets the maximum number of points in the twilight zone used for glyph hinting.
  2815. </summary>
  2816. </member>
  2817. <member name="P:SharpFont.TrueType.MaxProfile.MaxStorage">
  2818. <summary>
  2819. Gets the maximum number of elements in the storage area used for glyph hinting.
  2820. </summary>
  2821. </member>
  2822. <member name="P:SharpFont.TrueType.MaxProfile.MaxFunctionDefs">
  2823. <summary>
  2824. Gets the maximum number of function definitions in the TrueType bytecode for this font.
  2825. </summary>
  2826. </member>
  2827. <member name="P:SharpFont.TrueType.MaxProfile.MaxInstructionDefs">
  2828. <summary>
  2829. Gets the maximum number of instruction definitions in the TrueType bytecode for this font.
  2830. </summary>
  2831. </member>
  2832. <member name="P:SharpFont.TrueType.MaxProfile.MaxStackElements">
  2833. <summary>
  2834. Gets the maximum number of stack elements used during bytecode interpretation.
  2835. </summary>
  2836. </member>
  2837. <member name="P:SharpFont.TrueType.MaxProfile.MaxSizeOfInstructions">
  2838. <summary>
  2839. Gets the maximum number of TrueType opcodes used for glyph hinting.
  2840. </summary>
  2841. </member>
  2842. <member name="P:SharpFont.TrueType.MaxProfile.MaxComponentElements">
  2843. <summary>
  2844. Gets the maximum number of simple (i.e., non- composite) glyphs in a composite glyph.
  2845. </summary>
  2846. </member>
  2847. <member name="P:SharpFont.TrueType.MaxProfile.MaxComponentDepth">
  2848. <summary>
  2849. Gets the maximum nesting depth of composite glyphs.
  2850. </summary>
  2851. </member>
  2852. <member name="T:SharpFont.TrueType.OS2">
  2853. <summary><para>
  2854. A structure used to model a TrueType OS/2 table. This is the long table version. All fields comply to the
  2855. TrueType specification.
  2856. </para><para>
  2857. Note that we now support old Mac fonts which do not include an OS/2 table. In this case, the ‘version’ field is
  2858. always set to 0xFFFF.
  2859. </para></summary>
  2860. </member>
  2861. <member name="T:SharpFont.TrueType.Pclt">
  2862. <summary>
  2863. A structure used to model a TrueType PCLT table. All fields comply to the TrueType specification.
  2864. </summary>
  2865. </member>
  2866. <member name="T:SharpFont.TrueType.PlatformId">
  2867. <summary>
  2868. A list of valid values for the ‘platform_id’ identifier code in <see cref="T:SharpFont.CharMap"/> and
  2869. <see cref="T:SharpFont.TrueType.SfntName"/> structures.
  2870. </summary>
  2871. </member>
  2872. <member name="F:SharpFont.TrueType.PlatformId.AppleUnicode">
  2873. <summary>
  2874. Used by Apple to indicate a Unicode character map and/or name entry. See TT_APPLE_ID_XXX for corresponding
  2875. ‘encoding_id’ values. Note that name entries in this format are coded as big-endian UCS-2 character codes
  2876. only.
  2877. </summary>
  2878. </member>
  2879. <member name="F:SharpFont.TrueType.PlatformId.Macintosh">
  2880. <summary>
  2881. Used by Apple to indicate a MacOS-specific charmap and/or name entry. See TT_MAC_ID_XXX for corresponding
  2882. ‘encoding_id’ values. Note that most TrueType fonts contain an Apple roman charmap to be usable on MacOS
  2883. systems (even if they contain a Microsoft charmap as well).
  2884. </summary>
  2885. </member>
  2886. <member name="F:SharpFont.TrueType.PlatformId.Iso">
  2887. <summary>
  2888. This value was used to specify ISO/IEC 10646 charmaps. It is however now deprecated. See TT_ISO_ID_XXX for
  2889. a list of corresponding ‘encoding_id’ values.
  2890. </summary>
  2891. </member>
  2892. <member name="F:SharpFont.TrueType.PlatformId.Microsoft">
  2893. <summary>
  2894. Used by Microsoft to indicate Windows-specific charmaps. See TT_MS_ID_XXX for a list of corresponding
  2895. ‘encoding_id’ values. Note that most fonts contain a Unicode charmap using (TT_PLATFORM_MICROSOFT,
  2896. TT_MS_ID_UNICODE_CS).
  2897. </summary>
  2898. </member>
  2899. <member name="F:SharpFont.TrueType.PlatformId.Custom">
  2900. <summary>
  2901. Used to indicate application-specific charmaps.
  2902. </summary>
  2903. </member>
  2904. <member name="F:SharpFont.TrueType.PlatformId.Adobe">
  2905. <summary>
  2906. This value isn't part of any font format specification, but is used by FreeType to report Adobe-specific
  2907. charmaps in an <see cref="T:SharpFont.CharMap"/> structure. See TT_ADOBE_ID_XXX.
  2908. </summary>
  2909. </member>
  2910. <member name="T:SharpFont.TrueType.EngineType">
  2911. <summary>
  2912. A list of values describing which kind of TrueType bytecode engine is implemented in a given
  2913. <see cref="T:SharpFont.Library"/> instance. It is used by the <see cref="M:SharpFont.Library.GetTrueTypeEngineType"/> function.
  2914. </summary>
  2915. </member>
  2916. <member name="F:SharpFont.TrueType.EngineType.None">
  2917. <summary>
  2918. The library doesn't implement any kind of bytecode interpreter.
  2919. </summary>
  2920. </member>
  2921. <member name="F:SharpFont.TrueType.EngineType.Unpatented">
  2922. <summary><para>
  2923. The library implements a bytecode interpreter that doesn't support the patented operations of the TrueType
  2924. virtual machine.
  2925. </para><para>
  2926. Its main use is to load certain Asian fonts which position and scale glyph components with bytecode
  2927. instructions. It produces bad output for most other fonts.
  2928. </para></summary>
  2929. </member>
  2930. <member name="F:SharpFont.TrueType.EngineType.Patented">
  2931. <summary>
  2932. The library implements a bytecode interpreter that covers the full instruction set of the TrueType virtual
  2933. machine (this was governed by patents until May 2010, hence the name).
  2934. </summary>
  2935. </member>
  2936. <member name="T:SharpFont.TrueType.Postscript">
  2937. <summary>
  2938. A structure used to model a TrueType PostScript table. All fields comply to the TrueType specification. This
  2939. structure does not reference the PostScript glyph names, which can be nevertheless accessed with the ‘ttpost’
  2940. module.
  2941. </summary>
  2942. </member>
  2943. <member name="T:SharpFont.TrueType.SfntTag">
  2944. <summary>
  2945. An enumeration used to specify the index of an SFNT table. Used in the <see cref="M:SharpFont.Face.GetSfntTable(SharpFont.TrueType.SfntTag)"/> API
  2946. function.
  2947. </summary>
  2948. </member>
  2949. <member name="T:SharpFont.TrueType.VertHeader">
  2950. <summary>
  2951. A structure used to model a TrueType vertical header, the ‘vhea’ table, as well as the corresponding vertical
  2952. metrics table, i.e., the ‘vmtx’ table.
  2953. </summary>
  2954. <remarks><para>
  2955. IMPORTANT: The <see cref="T:SharpFont.TrueType.HoriHeader"/> and <see cref="T:SharpFont.TrueType.VertHeader"/> structures should be identical except for
  2956. the names of their fields which are different.
  2957. </para><para>
  2958. This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical
  2959. headers.
  2960. </para></remarks>
  2961. </member>
  2962. <member name="P:SharpFont.TrueType.VertHeader.Version">
  2963. <summary>
  2964. Gets the table version.
  2965. </summary>
  2966. </member>
  2967. <member name="P:SharpFont.TrueType.VertHeader.Ascender">
  2968. <summary><para>
  2969. Gets the font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in
  2970. the font.
  2971. </para><para>
  2972. This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a
  2973. portion of the glyphs found in the font (maybe ASCII).
  2974. </para><para>
  2975. You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.
  2976. </para></summary>
  2977. </member>
  2978. <member name="P:SharpFont.TrueType.VertHeader.Descender">
  2979. <summary><para>
  2980. Gets the font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points
  2981. found in the font. It is negative.
  2982. </para><para>
  2983. This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a
  2984. portion of the glyphs found in the font (maybe ASCII).
  2985. </para><para>
  2986. You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.
  2987. </para></summary>
  2988. </member>
  2989. <member name="P:SharpFont.TrueType.VertHeader.LineGap">
  2990. <summary>
  2991. Gets the font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the
  2992. baseline-to-baseline distance for the font.
  2993. </summary>
  2994. </member>
  2995. <member name="P:SharpFont.TrueType.VertHeader.AdvanceHeightMax">
  2996. <summary>
  2997. Gets the maximum of all advance heights found in the font. It can be used to compute the maximum height of
  2998. an arbitrary string of text.
  2999. </summary>
  3000. </member>
  3001. <member name="P:SharpFont.TrueType.VertHeader.MinimumTopSideBearing">
  3002. <summary>
  3003. Gets the minimum top side bearing of all glyphs within the font.
  3004. </summary>
  3005. </member>
  3006. <member name="P:SharpFont.TrueType.VertHeader.MinimumBottomSideBearing">
  3007. <summary>
  3008. Gets the minimum bottom side bearing of all glyphs within the font.
  3009. </summary>
  3010. </member>
  3011. <member name="P:SharpFont.TrueType.VertHeader.MaximumExtentY">
  3012. <summary>
  3013. Gets the maximum vertical extent (i.e., the ‘height’ of a glyph's bounding box) for all glyphs in the font.
  3014. </summary>
  3015. </member>
  3016. <member name="P:SharpFont.TrueType.VertHeader.CaretSlopeRise">
  3017. <summary>
  3018. Gets the rise coefficient of the cursor's slope of the cursor (slope=rise/run).
  3019. </summary>
  3020. </member>
  3021. <member name="P:SharpFont.TrueType.VertHeader.CaretSlopeRun">
  3022. <summary>
  3023. Gets the run coefficient of the cursor's slope.
  3024. </summary>
  3025. </member>
  3026. <member name="P:SharpFont.TrueType.VertHeader.Reserved">
  3027. <summary>
  3028. Gets the 8 reserved bytes.
  3029. </summary>
  3030. </member>
  3031. <member name="P:SharpFont.TrueType.VertHeader.MetricDataFormat">
  3032. <summary>
  3033. Gets 0, always.
  3034. </summary>
  3035. </member>
  3036. <member name="P:SharpFont.TrueType.VertHeader.VMetricsCount">
  3037. <summary>
  3038. Gets the number of VMetrics entries in the ‘vmtx’ table -- this value can be smaller than the total number
  3039. of glyphs in the font.
  3040. </summary>
  3041. </member>
  3042. <member name="P:SharpFont.TrueType.VertHeader.LongMetrics">
  3043. <summary>
  3044. Gets a pointer into the ‘vmtx’ table.
  3045. </summary>
  3046. </member>
  3047. <member name="P:SharpFont.TrueType.VertHeader.ShortMetrics">
  3048. <summary>
  3049. Gets a pointer into the ‘vmtx’ table.
  3050. </summary>
  3051. </member>
  3052. <member name="T:SharpFont.Error">
  3053. <summary>
  3054. FreeType error codes.
  3055. </summary>
  3056. </member>
  3057. <member name="F:SharpFont.Error.Ok">
  3058. <summary>No error.</summary>
  3059. </member>
  3060. <member name="F:SharpFont.Error.CannotOpenResource">
  3061. <summary>Cannot open resource.</summary>
  3062. </member>
  3063. <member name="F:SharpFont.Error.UnknownFileFormat">
  3064. <summary>Unknown file format.</summary>
  3065. </member>
  3066. <member name="F:SharpFont.Error.InvalidFileFormat">
  3067. <summary>Broken file.</summary>
  3068. </member>
  3069. <member name="F:SharpFont.Error.InvalidVersion">
  3070. <summary>Invalid FreeType version.</summary>
  3071. </member>
  3072. <member name="F:SharpFont.Error.LowerModuleVersion">
  3073. <summary>Module version is too low.</summary>
  3074. </member>
  3075. <member name="F:SharpFont.Error.InvalidArgument">
  3076. <summary>Invalid argument.</summary>
  3077. </member>
  3078. <member name="F:SharpFont.Error.UnimplementedFeature">
  3079. <summary>Unimplemented feature.</summary>
  3080. </member>
  3081. <member name="F:SharpFont.Error.InvalidTable">
  3082. <summary>Broken table.</summary>
  3083. </member>
  3084. <member name="F:SharpFont.Error.InvalidOffset">
  3085. <summary>Broken offset within table.</summary>
  3086. </member>
  3087. <member name="F:SharpFont.Error.ArrayTooLarge">
  3088. <summary>Array allocation size too large.</summary>
  3089. </member>
  3090. <member name="F:SharpFont.Error.InvalidGlyphIndex">
  3091. <summary>Invalid glyph index.</summary>
  3092. </member>
  3093. <member name="F:SharpFont.Error.InvalidCharacterCode">
  3094. <summary>Invalid character code.</summary>
  3095. </member>
  3096. <member name="F:SharpFont.Error.InvalidGlyphFormat">
  3097. <summary>Unsupported glyph image format.</summary>
  3098. </member>
  3099. <member name="F:SharpFont.Error.CannotRenderGlyph">
  3100. <summary>Cannot render this glyph format.</summary>
  3101. </member>
  3102. <member name="F:SharpFont.Error.InvalidOutline">
  3103. <summary>Invalid outline.</summary>
  3104. </member>
  3105. <member name="F:SharpFont.Error.InvalidComposite">
  3106. <summary>Invalid composite glyph.</summary>
  3107. </member>
  3108. <member name="F:SharpFont.Error.TooManyHints">
  3109. <summary>Too many hints.</summary>
  3110. </member>
  3111. <member name="F:SharpFont.Error.InvalidPixelSize">
  3112. <summary>Invalid pixel size.</summary>
  3113. </member>
  3114. <member name="F:SharpFont.Error.InvalidHandle">
  3115. <summary>Invalid object handle.</summary>
  3116. </member>
  3117. <member name="F:SharpFont.Error.InvalidLibraryHandle">
  3118. <summary>Invalid library handle.</summary>
  3119. </member>
  3120. <member name="F:SharpFont.Error.InvalidDriverHandle">
  3121. <summary>Invalid module handle.</summary>
  3122. </member>
  3123. <member name="F:SharpFont.Error.InvalidFaceHandle">
  3124. <summary>Invalid face handle.</summary>
  3125. </member>
  3126. <member name="F:SharpFont.Error.InvalidSizeHandle">
  3127. <summary>Invalid size handle.</summary>
  3128. </member>
  3129. <member name="F:SharpFont.Error.InvalidSlotHandle">
  3130. <summary>Invalid glyph slot handle.</summary>
  3131. </member>
  3132. <member name="F:SharpFont.Error.InvalidCharMapHandle">
  3133. <summary>Invalid charmap handle.</summary>
  3134. </member>
  3135. <member name="F:SharpFont.Error.InvalidCacheHandle">
  3136. <summary>Invalid cache manager handle.</summary>
  3137. </member>
  3138. <member name="F:SharpFont.Error.InvalidStreamHandle">
  3139. <summary>Invalid stream handle.</summary>
  3140. </member>
  3141. <member name="F:SharpFont.Error.TooManyDrivers">
  3142. <summary>Too many modules.</summary>
  3143. </member>
  3144. <member name="F:SharpFont.Error.TooManyExtensions">
  3145. <summary>Too many extensions.</summary>
  3146. </member>
  3147. <member name="F:SharpFont.Error.OutOfMemory">
  3148. <summary>Out of memory.</summary>
  3149. </member>
  3150. <member name="F:SharpFont.Error.UnlistedObject">
  3151. <summary>Unlisted object.</summary>
  3152. </member>
  3153. <member name="F:SharpFont.Error.CannotOpenStream">
  3154. <summary>Cannot open stream.</summary>
  3155. </member>
  3156. <member name="F:SharpFont.Error.InvalidStreamSeek">
  3157. <summary>Invalid stream seek.</summary>
  3158. </member>
  3159. <member name="F:SharpFont.Error.InvalidStreamSkip">
  3160. <summary>Invalid stream skip.</summary>
  3161. </member>
  3162. <member name="F:SharpFont.Error.InvalidStreamRead">
  3163. <summary>Invalid stream read.</summary>
  3164. </member>
  3165. <member name="F:SharpFont.Error.InvalidStreamOperation">
  3166. <summary>Invalid stream operation.</summary>
  3167. </member>
  3168. <member name="F:SharpFont.Error.InvalidFrameOperation">
  3169. <summary>Invalid frame operation.</summary>
  3170. </member>
  3171. <member name="F:SharpFont.Error.NestedFrameAccess">
  3172. <summary>Nested frame access.</summary>
  3173. </member>
  3174. <member name="F:SharpFont.Error.InvalidFrameRead">
  3175. <summary>Invalid frame read.</summary>
  3176. </member>
  3177. <member name="F:SharpFont.Error.RasterUninitialized">
  3178. <summary>Raster uninitialized.</summary>
  3179. </member>
  3180. <member name="F:SharpFont.Error.RasterCorrupted">
  3181. <summary>Raster corrupted.</summary>
  3182. </member>
  3183. <member name="F:SharpFont.Error.RasterOverflow">
  3184. <summary>Raster overflow.</summary>
  3185. </member>
  3186. <member name="F:SharpFont.Error.RasterNegativeHeight">
  3187. <summary>Negative height while rastering.</summary>
  3188. </member>
  3189. <member name="F:SharpFont.Error.TooManyCaches">
  3190. <summary>Too many registered caches.</summary>
  3191. </member>
  3192. <member name="F:SharpFont.Error.InvalidOpCode">
  3193. <summary>Invalid opcode.</summary>
  3194. </member>
  3195. <member name="F:SharpFont.Error.TooFewArguments">
  3196. <summary>Too few arguments.</summary>
  3197. </member>
  3198. <member name="F:SharpFont.Error.StackOverflow">
  3199. <summary>Stack overflow.</summary>
  3200. </member>
  3201. <member name="F:SharpFont.Error.CodeOverflow">
  3202. <summary>Code overflow.</summary>
  3203. </member>
  3204. <member name="F:SharpFont.Error.BadArgument">
  3205. <summary>Bad argument.</summary>
  3206. </member>
  3207. <member name="F:SharpFont.Error.DivideByZero">
  3208. <summary>Division by zero.</summary>
  3209. </member>
  3210. <member name="F:SharpFont.Error.InvalidReference">
  3211. <summary>Invalid reference.</summary>
  3212. </member>
  3213. <member name="F:SharpFont.Error.DebugOpCode">
  3214. <summary>Found debug opcode.</summary>
  3215. </member>
  3216. <member name="F:SharpFont.Error.EndfInExecStream">
  3217. <summary>Found ENDF opcode in execution stream.</summary>
  3218. </member>
  3219. <member name="F:SharpFont.Error.NestedDefs">
  3220. <summary>Nested DEFS.</summary>
  3221. </member>
  3222. <member name="F:SharpFont.Error.InvalidCodeRange">
  3223. <summary>Invalid code range.</summary>
  3224. </member>
  3225. <member name="F:SharpFont.Error.ExecutionTooLong">
  3226. <summary>Execution context too long.</summary>
  3227. </member>
  3228. <member name="F:SharpFont.Error.TooManyFunctionDefs">
  3229. <summary>Too many function definitions.</summary>
  3230. </member>
  3231. <member name="F:SharpFont.Error.TooManyInstructionDefs">
  3232. <summary>Too many instruction definitions.</summary>
  3233. </member>
  3234. <member name="F:SharpFont.Error.TableMissing">
  3235. <summary>SFNT font table missing.</summary>
  3236. </member>
  3237. <member name="F:SharpFont.Error.HorizHeaderMissing">
  3238. <summary>Horizontal header (hhea) table missing.</summary>
  3239. </member>
  3240. <member name="F:SharpFont.Error.LocationsMissing">
  3241. <summary>Locations (loca) table missing.</summary>
  3242. </member>
  3243. <member name="F:SharpFont.Error.NameTableMissing">
  3244. <summary>Name table missing.</summary>
  3245. </member>
  3246. <member name="F:SharpFont.Error.CMapTableMissing">
  3247. <summary>Character map (cmap) table missing.</summary>
  3248. </member>
  3249. <member name="F:SharpFont.Error.HmtxTableMissing">
  3250. <summary>Horizontal metrics (hmtx) table missing.</summary>
  3251. </member>
  3252. <member name="F:SharpFont.Error.PostTableMissing">
  3253. <summary>PostScript (post) table missing.</summary>
  3254. </member>
  3255. <member name="F:SharpFont.Error.InvalidHorizMetrics">
  3256. <summary>Invalid horizontal metrics.</summary>
  3257. </member>
  3258. <member name="F:SharpFont.Error.InvalidCharMapFormat">
  3259. <summary>Invalid character map (cmap) format.</summary>
  3260. </member>
  3261. <member name="F:SharpFont.Error.InvalidPPem">
  3262. <summary>Invalid ppem value.</summary>
  3263. </member>
  3264. <member name="F:SharpFont.Error.InvalidVertMetrics">
  3265. <summary>Invalid vertical metrics.</summary>
  3266. </member>
  3267. <member name="F:SharpFont.Error.CouldNotFindContext">
  3268. <summary>Could not find context.</summary>
  3269. </member>
  3270. <member name="F:SharpFont.Error.InvalidPostTableFormat">
  3271. <summary>Invalid PostScript (post) table format.</summary>
  3272. </member>
  3273. <member name="F:SharpFont.Error.InvalidPostTable">
  3274. <summary>Invalid PostScript (post) table.</summary>
  3275. </member>
  3276. <member name="F:SharpFont.Error.SyntaxError">
  3277. <summary>Opcode syntax error.</summary>
  3278. </member>
  3279. <member name="F:SharpFont.Error.StackUnderflow">
  3280. <summary>Argument stack underflow.</summary>
  3281. </member>
  3282. <member name="F:SharpFont.Error.Ignore">
  3283. <summary>Ignore this error.</summary>
  3284. </member>
  3285. <member name="F:SharpFont.Error.NoUnicodeGlyphName">
  3286. <summary>No Unicode glyph name found.</summary>
  3287. </member>
  3288. <member name="F:SharpFont.Error.MissingStartfontField">
  3289. <summary>`STARTFONT' field missing.</summary>
  3290. </member>
  3291. <member name="F:SharpFont.Error.MissingFontField">
  3292. <summary>`FONT' field missing.</summary>
  3293. </member>
  3294. <member name="F:SharpFont.Error.MissingSizeField">
  3295. <summary>`SIZE' field missing.</summary>
  3296. </member>
  3297. <member name="F:SharpFont.Error.MissingFontboudingboxField">
  3298. <summary>`FONTBOUNDINGBOX' field missing.</summary>
  3299. </member>
  3300. <member name="F:SharpFont.Error.MissingCharsField">
  3301. <summary>`CHARS' field missing.</summary>
  3302. </member>
  3303. <member name="F:SharpFont.Error.MissingStartcharField">
  3304. <summary>`STARTCHAR' field missing.</summary>
  3305. </member>
  3306. <member name="F:SharpFont.Error.MissingEncodingField">
  3307. <summary>`ENCODING' field missing.</summary>
  3308. </member>
  3309. <member name="F:SharpFont.Error.MissingBbxField">
  3310. <summary>`BBX' field missing.</summary>
  3311. </member>
  3312. <member name="F:SharpFont.Error.BbxTooBig">
  3313. <summary>`BBX' too big.</summary>
  3314. </member>
  3315. <member name="F:SharpFont.Error.CorruptedFontHeader">
  3316. <summary>Font header corrupted or missing fields.</summary>
  3317. </member>
  3318. <member name="F:SharpFont.Error.CorruptedFontGlyphs">
  3319. <summary>Font glyphs corrupted or missing fields.</summary>
  3320. </member>
  3321. <member name="T:SharpFont.Face">
  3322. <summary>
  3323. FreeType root face class structure. A face object models a typeface in a font file.
  3324. </summary>
  3325. <remarks>
  3326. Fields may be changed after a call to <see cref="M:SharpFont.Face.AttachFile(System.String)"/> or <see cref="M:SharpFont.Face.AttachStream(SharpFont.OpenArgs)"/>.
  3327. </remarks>
  3328. </member>
  3329. <member name="M:SharpFont.Face.#ctor(SharpFont.Library,System.String)">
  3330. <summary>
  3331. Initializes a new instance of the <see cref="T:SharpFont.Face"/> class with a default faceIndex of 0.
  3332. </summary>
  3333. <param name="library">The parent library.</param>
  3334. <param name="path">The path of the font file.</param>
  3335. </member>
  3336. <member name="M:SharpFont.Face.#ctor(SharpFont.Library,System.String,System.Int32)">
  3337. <summary>
  3338. Initializes a new instance of the <see cref="T:SharpFont.Face"/> class.
  3339. </summary>
  3340. <param name="library">The parent library.</param>
  3341. <param name="path">The path of the font file.</param>
  3342. <param name="faceIndex">The index of the face to take from the file.</param>
  3343. </member>
  3344. <member name="M:SharpFont.Face.#ctor(SharpFont.Library,System.Byte[],System.Int32)">
  3345. <summary>
  3346. Initializes a new instance of the <see cref="T:SharpFont.Face"/> class from a file that's already loaded into memory.
  3347. </summary>
  3348. <param name="library">The parent library.</param>
  3349. <param name="file">The loaded file.</param>
  3350. <param name="faceIndex">The index of the face to take from the file.</param>
  3351. </member>
  3352. <member name="M:SharpFont.Face.#ctor(System.IntPtr,SharpFont.Library)">
  3353. <summary>
  3354. Initializes a new instance of the Face class.
  3355. </summary>
  3356. <param name="reference">A pointer to the unmanaged memory containing the Face.</param>
  3357. <param name="parent">The parent <see cref="T:SharpFont.Library"/>.</param>
  3358. </member>
  3359. <member name="M:SharpFont.Face.Finalize">
  3360. <summary>
  3361. Finalizes an instance of the Face class.
  3362. </summary>
  3363. </member>
  3364. <member name="P:SharpFont.Face.IsDisposed">
  3365. <summary>
  3366. Gets a value indicating whether the object has been disposed.
  3367. </summary>
  3368. </member>
  3369. <member name="P:SharpFont.Face.FaceCount">
  3370. <summary>
  3371. Gets the number of faces in the font file. Some font formats can have multiple faces in a font file.
  3372. </summary>
  3373. </member>
  3374. <member name="P:SharpFont.Face.FaceIndex">
  3375. <summary>
  3376. Gets the index of the face in the font file. It is set to 0 if there is only one face in the font file.
  3377. </summary>
  3378. </member>
  3379. <member name="P:SharpFont.Face.FaceFlags">
  3380. <summary>
  3381. Gets a set of bit flags that give important information about the face.
  3382. </summary>
  3383. <see cref="P:SharpFont.Face.FaceFlags"/>
  3384. </member>
  3385. <member name="P:SharpFont.Face.StyleFlags">
  3386. <summary>
  3387. Gets a set of bit flags indicating the style of the face.
  3388. </summary>
  3389. <see cref="P:SharpFont.Face.StyleFlags"/>
  3390. </member>
  3391. <member name="P:SharpFont.Face.GlyphCount">
  3392. <summary><para>
  3393. Gets the number of glyphs in the face. If the face is scalable and has sbits (see ‘num_fixed_sizes’), it is
  3394. set to the number of outline glyphs.
  3395. </para><para>
  3396. For CID-keyed fonts, this value gives the highest CID used in the font.
  3397. </para></summary>
  3398. </member>
  3399. <member name="P:SharpFont.Face.FamilyName">
  3400. <summary>
  3401. Gets the face's family name. This is an ASCII string, usually in English, which describes the typeface's
  3402. family (like ‘Times New Roman’, ‘Bodoni’, ‘Garamond’, etc). This is a least common denominator used to list
  3403. fonts. Some formats (TrueType &amp; OpenType) provide localized and Unicode versions of this string.
  3404. Applications should use the format specific interface to access them. Can be NULL (e.g., in fonts embedded
  3405. in a PDF file).
  3406. </summary>
  3407. </member>
  3408. <member name="P:SharpFont.Face.StyleName">
  3409. <summary>
  3410. Gets the face's style name. This is an ASCII string, usually in English, which describes the typeface's
  3411. style (like ‘Italic’, ‘Bold’, ‘Condensed’, etc). Not all font formats provide a style name, so this field
  3412. is optional, and can be set to NULL. As for ‘family_name’, some formats provide localized and Unicode
  3413. versions of this string. Applications should use the format specific interface to access them.
  3414. </summary>
  3415. </member>
  3416. <member name="P:SharpFont.Face.FixedSizesCount">
  3417. <summary>
  3418. Gets the number of bitmap strikes in the face. Even if the face is scalable, there might still be bitmap
  3419. strikes, which are called ‘sbits’ in that case.
  3420. </summary>
  3421. </member>
  3422. <member name="P:SharpFont.Face.AvailableSizes">
  3423. <summary>
  3424. Gets an array of FT_Bitmap_Size for all bitmap strikes in the face. It is set to NULL if there is no bitmap
  3425. strike.
  3426. </summary>
  3427. </member>
  3428. <member name="P:SharpFont.Face.CharmapsCount">
  3429. <summary>
  3430. Gets the number of charmaps in the face.
  3431. </summary>
  3432. </member>
  3433. <member name="P:SharpFont.Face.CharMaps">
  3434. <summary>
  3435. Gets an array of the charmaps of the face.
  3436. </summary>
  3437. </member>
  3438. <member name="P:SharpFont.Face.Generic">
  3439. <summary>
  3440. Gets or sets a field reserved for client uses.
  3441. </summary>
  3442. <see cref="P:SharpFont.Face.Generic"/>
  3443. </member>
  3444. <member name="P:SharpFont.Face.BBox">
  3445. <summary><para>
  3446. Gets the font bounding box. Coordinates are expressed in font units (see ‘units_per_EM’). The box is large
  3447. enough to contain any glyph from the font. Thus, ‘bbox.yMax’ can be seen as the ‘maximal ascender’, and
  3448. ‘bbox.yMin’ as the ‘minimal descender’. Only relevant for scalable formats.
  3449. </para><para>
  3450. Note that the bounding box might be off by (at least) one pixel for hinted fonts. See FT_Size_Metrics for
  3451. further discussion.
  3452. </para></summary>
  3453. </member>
  3454. <member name="P:SharpFont.Face.UnitsPerEM">
  3455. <summary>
  3456. Gets the number of font units per EM square for this face. This is typically 2048 for TrueType fonts, and
  3457. 1000 for Type 1 fonts. Only relevant for scalable formats.
  3458. </summary>
  3459. </member>
  3460. <member name="P:SharpFont.Face.Ascender">
  3461. <summary>
  3462. Gets the typographic ascender of the face, expressed in font units. For font formats not having this
  3463. information, it is set to ‘bbox.yMax’. Only relevant for scalable formats.
  3464. </summary>
  3465. </member>
  3466. <member name="P:SharpFont.Face.Descender">
  3467. <summary>
  3468. Gets the typographic descender of the face, expressed in font units. For font formats not having this
  3469. information, it is set to ‘bbox.yMin’.Note that this field is usually negative. Only relevant for scalable
  3470. formats.
  3471. </summary>
  3472. </member>
  3473. <member name="P:SharpFont.Face.Height">
  3474. <summary>
  3475. Gets the height is the vertical distance between two consecutive baselines, expressed in font units. It is
  3476. always positive. Only relevant for scalable formats.
  3477. </summary>
  3478. </member>
  3479. <member name="P:SharpFont.Face.MaxAdvanceWidth">
  3480. <summary>
  3481. Gets the maximal advance width, in font units, for all glyphs in this face. This can be used to make word
  3482. wrapping computations faster. Only relevant for scalable formats.
  3483. </summary>
  3484. </member>
  3485. <member name="P:SharpFont.Face.MaxAdvanceHeight">
  3486. <summary>
  3487. Gets the maximal advance height, in font units, for all glyphs in this face. This is only relevant for
  3488. vertical layouts, and is set to ‘height’ for fonts that do not provide vertical metrics. Only relevant for
  3489. scalable formats.
  3490. </summary>
  3491. </member>
  3492. <member name="P:SharpFont.Face.UnderlinePosition">
  3493. <summary>
  3494. Gets the position, in font units, of the underline line for this face. It is the center of the underlining
  3495. stem. Only relevant for scalable formats.
  3496. </summary>
  3497. </member>
  3498. <member name="P:SharpFont.Face.UnderlineThickness">
  3499. <summary>
  3500. Gets the thickness, in font units, of the underline for this face. Only relevant for scalable formats.
  3501. </summary>
  3502. </member>
  3503. <member name="P:SharpFont.Face.Glyph">
  3504. <summary>
  3505. Gets the face's associated glyph slot(s).
  3506. </summary>
  3507. </member>
  3508. <member name="P:SharpFont.Face.Size">
  3509. <summary>
  3510. Gets the current active size for this face.
  3511. </summary>
  3512. </member>
  3513. <member name="P:SharpFont.Face.CharMap">
  3514. <summary>
  3515. Gets the current active charmap for this face.
  3516. </summary>
  3517. </member>
  3518. <member name="P:SharpFont.Face.HasHoriziontal">
  3519. <summary>
  3520. Gets a value indicating whether a face object contains horizontal metrics (this is true for all font
  3521. formats though).
  3522. </summary>
  3523. </member>
  3524. <member name="P:SharpFont.Face.HasVertical">
  3525. <summary>
  3526. Gets a value indicating whether a face object contains vertical metrics.
  3527. </summary>
  3528. </member>
  3529. <member name="P:SharpFont.Face.HasKerning">
  3530. <summary>
  3531. Gets a value indicating whether a face object contains kerning data that can be accessed with
  3532. <see cref="M:SharpFont.Face.GetKerning(System.UInt32,System.UInt32,SharpFont.KerningMode)"/>.
  3533. </summary>
  3534. </member>
  3535. <member name="P:SharpFont.Face.IsScalable">
  3536. <summary>
  3537. Gets a value indicating whether a face object contains a scalable font face (true for TrueType, Type 1,
  3538. Type 42, CID, OpenType/CFF, and PFR font formats.
  3539. </summary>
  3540. </member>
  3541. <member name="P:SharpFont.Face.IsSfnt">
  3542. <summary><para>
  3543. Gets a value indicating whether a face object contains a font whose format is based on the SFNT storage
  3544. scheme. This usually means: TrueType fonts, OpenType fonts, as well as SFNT-based embedded bitmap fonts.
  3545. </para><para>
  3546. If this macro is true, all functions defined in FT_SFNT_NAMES_H and FT_TRUETYPE_TABLES_H are available.
  3547. </para></summary>
  3548. </member>
  3549. <member name="P:SharpFont.Face.IsFixedWidth">
  3550. <summary>
  3551. Gets a value indicating whether a face object contains a font face that contains fixed-width (or
  3552. ‘monospace’, ‘fixed-pitch’, etc.) glyphs.
  3553. </summary>
  3554. </member>
  3555. <member name="P:SharpFont.Face.HasFixedSizes">
  3556. <summary>
  3557. Gets a value indicating whether a face object contains some embedded bitmaps.
  3558. </summary>
  3559. <see cref="P:SharpFont.Face.AvailableSizes"/>
  3560. </member>
  3561. <member name="P:SharpFont.Face.HasGlyphNames">
  3562. <summary>
  3563. Gets a value indicating whether a face object contains some glyph names that can be accessed through
  3564. <see cref="M:SharpFont.Face.GetGlyphName(System.UInt32,System.Int32)"/>.
  3565. </summary>
  3566. </member>
  3567. <member name="P:SharpFont.Face.HasMultipleMasters">
  3568. <summary>
  3569. Gets a value indicating whether a face object contains some multiple masters. The functions provided by
  3570. FT_MULTIPLE_MASTERS_H are then available to choose the exact design you want.
  3571. </summary>
  3572. </member>
  3573. <member name="P:SharpFont.Face.IsCidKeyed">
  3574. <summary><para>
  3575. Gets a value indicating whether a face object contains a CID-keyed font. See the discussion of
  3576. FT_FACE_FLAG_CID_KEYED for more details.
  3577. </para><para>
  3578. If this macro is true, all functions defined in FT_CID_H are available.
  3579. </para></summary>
  3580. </member>
  3581. <member name="P:SharpFont.Face.IsTricky">
  3582. <summary>
  3583. Gets a value indicating whether a face represents a ‘tricky’ font. See the discussion of
  3584. FT_FACE_FLAG_TRICKY for more details.
  3585. </summary>
  3586. </member>
  3587. <member name="M:SharpFont.Face.CheckTrueTypePatents">
  3588. <summary><para>
  3589. Parse all bytecode instructions of a TrueType font file to check whether any of the patented opcodes are
  3590. used. This is only useful if you want to be able to use the unpatented hinter with fonts that do not use
  3591. these opcodes.
  3592. </para><para>
  3593. Note that this function parses all glyph instructions in the font file, which may be slow.
  3594. </para></summary>
  3595. <remarks>
  3596. Since May 2010, TrueType hinting is no longer patented.
  3597. </remarks>
  3598. <returns>True if this is a TrueType font that uses one of the patented opcodes, false otherwise.</returns>
  3599. </member>
  3600. <member name="M:SharpFont.Face.SetUnpatentedHinting(System.Boolean)">
  3601. <summary>
  3602. Enable or disable the unpatented hinter for a given <see cref="T:SharpFont.Face"/>. Only enable it if you have
  3603. determined that the face doesn't use any patented opcodes.
  3604. </summary>
  3605. <remarks>
  3606. Since May 2010, TrueType hinting is no longer patented.
  3607. </remarks>
  3608. <param name="value">New boolean setting.</param>
  3609. <returns>
  3610. The old setting value. This will always be false if this is not an SFNT font, or if the unpatented hinter
  3611. is not compiled in this instance of the library.
  3612. </returns>
  3613. <see cref="M:SharpFont.Face.CheckTrueTypePatents"/>
  3614. </member>
  3615. <member name="M:SharpFont.Face.AttachFile(System.String)">
  3616. <summary>
  3617. This function calls <see cref="M:SharpFont.Face.AttachStream(SharpFont.OpenArgs)"/> to attach a file.
  3618. </summary>
  3619. <param name="path">The pathname.</param>
  3620. </member>
  3621. <member name="M:SharpFont.Face.AttachStream(SharpFont.OpenArgs)">
  3622. <summary>
  3623. ‘Attach’ data to a face object. Normally, this is used to read additional information for the face object.
  3624. For example, you can attach an AFM file that comes with a Type 1 font to get the kerning values and other
  3625. metrics.
  3626. </summary>
  3627. <remarks><para>
  3628. The meaning of the ‘attach’ (i.e., what really happens when the new file is read) is not fixed by FreeType
  3629. itself. It really depends on the font format (and thus the font driver).
  3630. </para><para>
  3631. Client applications are expected to know what they are doing when invoking this function. Most drivers
  3632. simply do not implement file attachments.
  3633. </para></remarks>
  3634. <param name="parameters">A pointer to <see cref="T:SharpFont.OpenArgs"/> which must be filled by the caller.</param>
  3635. </member>
  3636. <member name="M:SharpFont.Face.SelectSize(System.Int32)">
  3637. <summary>
  3638. Select a bitmap strike.
  3639. </summary>
  3640. <param name="strikeIndex">
  3641. The index of the bitmap strike in the <see cref="P:SharpFont.Face.AvailableSizes"/> field of <see cref="T:SharpFont.Face"/>
  3642. structure.
  3643. </param>
  3644. </member>
  3645. <member name="M:SharpFont.Face.RequestSize(SharpFont.SizeRequest)">
  3646. <summary>
  3647. Resize the scale of the active <see cref="T:SharpFont.FTSize"/> object in a face.
  3648. </summary>
  3649. <param name="request">A pointer to a <see cref="T:SharpFont.SizeRequest"/>.</param>
  3650. </member>
  3651. <member name="M:SharpFont.Face.SetCharSize(System.Int32,System.Int32,System.UInt32,System.UInt32)">
  3652. <summary>
  3653. This function calls <see cref="M:SharpFont.Face.RequestSize(SharpFont.SizeRequest)"/> to request the nominal size (in points).
  3654. </summary>
  3655. <remarks><para>
  3656. If either the character width or height is zero, it is set equal to the other value.
  3657. </para><para>
  3658. If either the horizontal or vertical resolution is zero, it is set equal to the other value.
  3659. </para><para>
  3660. A character width or height smaller than 1pt is set to 1pt; if both resolution values are zero, they are
  3661. set to 72dpi.
  3662. </para></remarks>
  3663. <param name="width">The nominal width, in 26.6 fractional points.</param>
  3664. <param name="height">The nominal height, in 26.6 fractional points.</param>
  3665. <param name="horizontalResolution">The horizontal resolution in dpi.</param>
  3666. <param name="verticalResolution">The vertical resolution in dpi.</param>
  3667. </member>
  3668. <member name="M:SharpFont.Face.SetPixelSizes(System.UInt32,System.UInt32)">
  3669. <summary>
  3670. This function calls <see cref="M:SharpFont.Face.RequestSize(SharpFont.SizeRequest)"/> to request the nominal size (in pixels).
  3671. </summary>
  3672. <param name="width">The nominal width, in pixels.</param>
  3673. <param name="height">The nominal height, in pixels</param>
  3674. </member>
  3675. <member name="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)">
  3676. <summary>
  3677. A function used to load a single glyph into the glyph slot of a face object.
  3678. </summary>
  3679. <remarks><para>
  3680. The loaded glyph may be transformed. See <see cref="M:SharpFont.Face.SetTransform(SharpFont.FTMatrix,SharpFont.FTVector)"/> for the details.
  3681. </para><para>
  3682. For subsetted CID-keyed fonts, <see cref="F:SharpFont.Error.InvalidArgument"/> is returned for invalid CID values (this
  3683. is, for CID values which don't have a corresponding glyph in the font). See the discussion of the
  3684. <see cref="F:SharpFont.FaceFlags.CidKeyed"/> flag for more details.
  3685. </para></remarks>
  3686. <param name="glyphIndex">
  3687. The index of the glyph in the font file. For CID-keyed fonts (either in PS or in CFF format) this argument
  3688. specifies the CID value.
  3689. </param>
  3690. <param name="flags">
  3691. A flag indicating what to load for this glyph. The <see cref="T:SharpFont.LoadFlags"/> constants can be used to control
  3692. the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not,
  3693. whether to hint the outline, etc).
  3694. </param>
  3695. <param name="target">The target to OR with the flags.</param>
  3696. </member>
  3697. <member name="M:SharpFont.Face.LoadChar(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)">
  3698. <summary>
  3699. A function used to load a single glyph into the glyph slot of a face object, according to its character
  3700. code.
  3701. </summary>
  3702. <remarks>
  3703. This function simply calls <see cref="M:SharpFont.Face.GetCharIndex(System.UInt32)"/> and <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>
  3704. </remarks>
  3705. <param name="charCode">
  3706. The glyph's character code, according to the current charmap used in the face.
  3707. </param>
  3708. <param name="flags">
  3709. A flag indicating what to load for this glyph. The <see cref="T:SharpFont.LoadFlags"/> constants can be used to control
  3710. the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not,
  3711. whether to hint the outline, etc).
  3712. </param>
  3713. <param name="target">The target to OR with the flags.</param>
  3714. </member>
  3715. <member name="M:SharpFont.Face.SetTransform(SharpFont.FTMatrix,SharpFont.FTVector)">
  3716. <summary>
  3717. A function used to set the transformation that is applied to glyph images when they are loaded into a glyph
  3718. slot through <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>.
  3719. </summary>
  3720. <remarks><para>
  3721. The transformation is only applied to scalable image formats after the glyph has been loaded. It means that
  3722. hinting is unaltered by the transformation and is performed on the character size given in the last call to
  3723. <see cref="M:SharpFont.Face.SetCharSize(System.Int32,System.Int32,System.UInt32,System.UInt32)"/> or <see cref="M:SharpFont.Face.SetPixelSizes(System.UInt32,System.UInt32)"/>.
  3724. </para><para>
  3725. Note that this also transforms the ‘face.glyph.advance’ field, but not the values in ‘face.glyph.metrics’.
  3726. </para></remarks>
  3727. <param name="matrix">A pointer to the transformation's 2x2 matrix. Use 0 for the identity matrix.</param>
  3728. <param name="delta">A pointer to the translation vector. Use 0 for the null vector.</param>
  3729. </member>
  3730. <member name="M:SharpFont.Face.GetKerning(System.UInt32,System.UInt32,SharpFont.KerningMode)">
  3731. <summary>
  3732. Return the kerning vector between two glyphs of a same face.
  3733. </summary>
  3734. <remarks>
  3735. Only horizontal layouts (left-to-right &amp; right-to-left) are supported by this method. Other layouts, or
  3736. more sophisticated kernings, are out of the scope of this API function -- they can be implemented through
  3737. format-specific interfaces.
  3738. </remarks>
  3739. <param name="leftGlyph">The index of the left glyph in the kern pair.</param>
  3740. <param name="rightGlyph">The index of the right glyph in the kern pair.</param>
  3741. <param name="mode">Determines the scale and dimension of the returned kerning vector.</param>
  3742. <returns>
  3743. The kerning vector. This is either in font units or in pixels (26.6 format) for scalable formats, and in
  3744. pixels for fixed-sizes formats.
  3745. </returns>
  3746. </member>
  3747. <member name="M:SharpFont.Face.GetTrackKerning(System.Int32,System.Int32)">
  3748. <summary>
  3749. Return the track kerning for a given face object at a given size.
  3750. </summary>
  3751. <param name="pointSize">The point size in 16.16 fractional points.</param>
  3752. <param name="degree">The degree of tightness.</param>
  3753. <returns>The kerning in 16.16 fractional points.</returns>
  3754. </member>
  3755. <member name="M:SharpFont.Face.GetGlyphName(System.UInt32,System.Int32)">
  3756. <summary>
  3757. Retrieve the ASCII name of a given glyph in a face. This only works for those faces where
  3758. <see cref="P:SharpFont.Face.HasGlyphNames"/> returns 1.
  3759. </summary>
  3760. <remarks><para>
  3761. An error is returned if the face doesn't provide glyph names or if the glyph index is invalid. In all cases
  3762. of failure, the first byte of ‘buffer’ is set to 0 to indicate an empty name.
  3763. </para><para>
  3764. The glyph name is truncated to fit within the buffer if it is too long. The returned string is always
  3765. zero-terminated.
  3766. </para><para>
  3767. Be aware that FreeType reorders glyph indices internally so that glyph index 0 always corresponds to the
  3768. ‘missing glyph’ (called ‘.notdef’).
  3769. </para><para>
  3770. This function is not compiled within the library if the config macro ‘FT_CONFIG_OPTION_NO_GLYPH_NAMES’ is
  3771. defined in ‘include/freetype/config/ftoptions.h’.
  3772. </para></remarks>
  3773. <param name="glyphIndex">The glyph index.</param>
  3774. <param name="bufferSize">The maximal number of bytes available in the buffer.</param>
  3775. <returns>The ASCII name of a given glyph in a face.</returns>
  3776. </member>
  3777. <member name="M:SharpFont.Face.GetGlyphName(System.UInt32,System.Byte[])">
  3778. <summary>
  3779. Retrieve the ASCII name of a given glyph in a face. This only works for those faces where
  3780. <see cref="P:SharpFont.Face.HasGlyphNames"/> returns 1.
  3781. </summary>
  3782. <remarks><para>
  3783. An error is returned if the face doesn't provide glyph names or if the glyph index is invalid. In all cases
  3784. of failure, the first byte of ‘buffer’ is set to 0 to indicate an empty name.
  3785. </para><para>
  3786. The glyph name is truncated to fit within the buffer if it is too long. The returned string is always
  3787. zero-terminated.
  3788. </para><para>
  3789. Be aware that FreeType reorders glyph indices internally so that glyph index 0 always corresponds to the
  3790. ‘missing glyph’ (called ‘.notdef’).
  3791. </para><para>
  3792. This function is not compiled within the library if the config macro ‘FT_CONFIG_OPTION_NO_GLYPH_NAMES’ is
  3793. defined in ‘include/freetype/config/ftoptions.h’.
  3794. </para></remarks>
  3795. <param name="glyphIndex">The glyph index.</param>
  3796. <param name="buffer">The target buffer where the name is copied to.</param>
  3797. <returns>The ASCII name of a given glyph in a face.</returns>
  3798. </member>
  3799. <member name="M:SharpFont.Face.GetPostscriptName">
  3800. <summary>
  3801. Retrieve the ASCII Postscript name of a given face, if available. This only works with Postscript and
  3802. TrueType fonts.
  3803. </summary>
  3804. <remarks>
  3805. The returned pointer is owned by the face and is destroyed with it.
  3806. </remarks>
  3807. <returns>A pointer to the face's Postscript name. NULL if unavailable.</returns>
  3808. </member>
  3809. <member name="M:SharpFont.Face.SelectCharmap(SharpFont.Encoding)">
  3810. <summary>
  3811. Select a given charmap by its encoding tag (as listed in ‘freetype.h’).
  3812. </summary>
  3813. <remarks><para>
  3814. This function returns an error if no charmap in the face corresponds to the encoding queried here.
  3815. </para><para>
  3816. Because many fonts contain more than a single cmap for Unicode encoding, this function has some special
  3817. code to select the one which covers Unicode best. It is thus preferable to <see cref="M:SharpFont.Face.SetCharmap(SharpFont.CharMap)"/> in
  3818. this case.
  3819. </para></remarks>
  3820. <param name="encoding">A handle to the selected encoding.</param>
  3821. </member>
  3822. <member name="M:SharpFont.Face.SetCharmap(SharpFont.CharMap)">
  3823. <summary>
  3824. Select a given charmap for character code to glyph index mapping.
  3825. </summary>
  3826. <remarks>
  3827. This function returns an error if the charmap is not part of the face (i.e., if it is not listed in the
  3828. <see cref="P:SharpFont.Face.CharMaps"/>’ table).
  3829. </remarks>
  3830. <param name="charmap">A handle to the selected charmap.</param>
  3831. </member>
  3832. <member name="M:SharpFont.Face.GetCharIndex(System.UInt32)">
  3833. <summary>
  3834. Return the glyph index of a given character code. This function uses a charmap object to do the mapping.
  3835. </summary>
  3836. <remarks>
  3837. If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index
  3838. returned by this function doesn't always correspond to the internal indices used within the file. This is
  3839. done to ensure that value 0 always corresponds to the ‘missing glyph’.
  3840. </remarks>
  3841. <param name="charCode">The character code.</param>
  3842. <returns>The glyph index. 0 means ‘undefined character code’.</returns>
  3843. </member>
  3844. <member name="M:SharpFont.Face.GetFirstChar(System.UInt32@)">
  3845. <summary>
  3846. This function is used to return the first character code in the current charmap of a given face. It also
  3847. returns the corresponding glyph index.
  3848. </summary>
  3849. <remarks><para>
  3850. You should use this function with <see cref="M:SharpFont.Face.GetNextChar(System.UInt32,System.UInt32@)"/> to be able to parse all character codes
  3851. available in a given charmap.
  3852. </para><para>
  3853. Note that ‘agindex’ is set to 0 if the charmap is empty. The result itself can be 0 in two cases: if the
  3854. charmap is empty or when the value 0 is the first valid character code.
  3855. </para></remarks>
  3856. <param name="glyphIndex">Glyph index of first character code. 0 if charmap is empty.</param>
  3857. <returns>The charmap's first character code.</returns>
  3858. </member>
  3859. <member name="M:SharpFont.Face.GetNextChar(System.UInt32,System.UInt32@)">
  3860. <summary>
  3861. This function is used to return the next character code in the current charmap of a given face following
  3862. the value ‘charCode’, as well as the corresponding glyph index.
  3863. </summary>
  3864. <remarks><para>
  3865. You should use this function with <see cref="M:SharpFont.Face.GetFirstChar(System.UInt32@)"/> to walk over all character codes available
  3866. in a given charmap. See the note for this function for a simple code example.
  3867. </para><para>
  3868. Note that ‘*agindex’ is set to 0 when there are no more codes in the charmap.
  3869. </para></remarks>
  3870. <param name="charCode">The starting character code.</param>
  3871. <param name="glyphIndex">Glyph index of first character code. 0 if charmap is empty.</param>
  3872. <returns>The charmap's next character code.</returns>
  3873. </member>
  3874. <member name="M:SharpFont.Face.GetNameIndex(System.String)">
  3875. <summary>
  3876. Return the glyph index of a given glyph name. This function uses driver specific objects to do the
  3877. translation.
  3878. </summary>
  3879. <param name="name">The glyph name.</param>
  3880. <returns>The glyph index. 0 means ‘undefined character code’.</returns>
  3881. </member>
  3882. <member name="M:SharpFont.Face.GetFSTypeFlags">
  3883. <summary>
  3884. Return the <see cref="T:SharpFont.EmbeddingTypes"/> flags for a font.
  3885. </summary>
  3886. <remarks>
  3887. Use this function rather than directly reading the ‘fs_type’ field in the <see cref="T:SharpFont.PostScript.FontInfo"/>
  3888. structure which is only guaranteed to return the correct results for Type 1 fonts.
  3889. </remarks>
  3890. <returns>The fsType flags, <see cref="T:SharpFont.EmbeddingTypes"/>.</returns>
  3891. </member>
  3892. <member name="M:SharpFont.Face.GetCharVariantIndex(System.UInt32,System.UInt32)">
  3893. <summary>
  3894. Return the glyph index of a given character code as modified by the variation selector.
  3895. </summary>
  3896. <remarks><para>
  3897. If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index
  3898. returned by this function doesn't always correspond to the internal indices used within the file. This is
  3899. done to ensure that value 0 always corresponds to the ‘missing glyph’.
  3900. </para><para>
  3901. This function is only meaningful if a) the font has a variation selector cmap sub table, and b) the current
  3902. charmap has a Unicode encoding.
  3903. </para></remarks>
  3904. <param name="charCode">The character code point in Unicode.</param>
  3905. <param name="variantSelector">The Unicode code point of the variation selector.</param>
  3906. <returns>
  3907. The glyph index. 0 means either ‘undefined character code’, or ‘undefined selector code’, or ‘no variation
  3908. selector cmap subtable’, or ‘current CharMap is not Unicode’.
  3909. </returns>
  3910. </member>
  3911. <member name="M:SharpFont.Face.GetCharVariantIsDefault(System.UInt32,System.UInt32)">
  3912. <summary>
  3913. Check whether this variant of this Unicode character is the one to be found in the ‘cmap’.
  3914. </summary>
  3915. <remarks>
  3916. This function is only meaningful if the font has a variation selector cmap subtable.
  3917. </remarks>
  3918. <param name="charCode">The character codepoint in Unicode.</param>
  3919. <param name="variantSelector">The Unicode codepoint of the variation selector.</param>
  3920. <returns>
  3921. 1 if found in the standard (Unicode) cmap, 0 if found in the variation selector cmap, or -1 if it is not a
  3922. variant.
  3923. </returns>
  3924. </member>
  3925. <member name="M:SharpFont.Face.GetVariantSelectors">
  3926. <summary>
  3927. Return a zero-terminated list of Unicode variant selectors found in the font.
  3928. </summary>
  3929. <remarks>
  3930. The last item in the array is 0; the array is owned by the <see cref="T:SharpFont.Face"/> object but can be overwritten
  3931. or released on the next call to a FreeType function.
  3932. </remarks>
  3933. <returns>
  3934. A pointer to an array of selector code points, or NULL if there is no valid variant selector cmap subtable.
  3935. </returns>
  3936. </member>
  3937. <member name="M:SharpFont.Face.GetVariantsOfChar(System.UInt32)">
  3938. <summary>
  3939. Return a zero-terminated list of Unicode variant selectors found in the font.
  3940. </summary>
  3941. <remarks>
  3942. The last item in the array is 0; the array is owned by the <see cref="T:SharpFont.Face"/> object but can be overwritten
  3943. or released on the next call to a FreeType function.
  3944. </remarks>
  3945. <param name="charCode">The character codepoint in Unicode.</param>
  3946. <returns>
  3947. A pointer to an array of variant selector code points which are active for the given character, or NULL if
  3948. the corresponding list is empty.
  3949. </returns>
  3950. </member>
  3951. <member name="M:SharpFont.Face.GetCharsOfVariant(System.UInt32)">
  3952. <summary>
  3953. Return a zero-terminated list of Unicode character codes found for the specified variant selector.
  3954. </summary>
  3955. <remarks>
  3956. The last item in the array is 0; the array is owned by the <see cref="T:SharpFont.Face"/> object but can be overwritten
  3957. or released on the next call to a FreeType function.
  3958. </remarks>
  3959. <param name="variantSelector">The variant selector code point in Unicode.</param>
  3960. <returns>
  3961. A list of all the code points which are specified by this selector (both default and non-default codes are
  3962. returned) or NULL if there is no valid cmap or the variant selector is invalid.
  3963. </returns>
  3964. </member>
  3965. <member name="M:SharpFont.Face.NewSize">
  3966. <summary>
  3967. Create a new size object from a given face object.
  3968. </summary>
  3969. <remarks>
  3970. You need to call <see cref="M:SharpFont.FTSize.Activate"/> in order to select the new size for upcoming calls to
  3971. <see cref="M:SharpFont.Face.SetPixelSizes(System.UInt32,System.UInt32)"/>, <see cref="M:SharpFont.Face.SetCharSize(System.Int32,System.Int32,System.UInt32,System.UInt32)"/>, <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>, <see cref="M:SharpFont.Face.LoadChar(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>,
  3972. etc.
  3973. </remarks>
  3974. <returns>A handle to a new size object.</returns>
  3975. </member>
  3976. <member name="M:SharpFont.Face.GetMultiMaster">
  3977. <summary><para>
  3978. Retrieve the Multiple Master descriptor of a given font.
  3979. </para><para>
  3980. This function can't be used with GX fonts.
  3981. </para></summary>
  3982. <returns>The Multiple Masters descriptor.</returns>
  3983. </member>
  3984. <member name="M:SharpFont.Face.GetMMVar">
  3985. <summary>
  3986. Retrieve the Multiple Master/GX var descriptor of a given font.
  3987. </summary>
  3988. <returns>
  3989. The Multiple Masters/GX var descriptor. Allocates a data structure, which the user must free (a single call
  3990. to FT_FREE will do it).
  3991. </returns>
  3992. </member>
  3993. <member name="M:SharpFont.Face.SetMMDesignCoordinates(System.Int64[])">
  3994. <summary><para>
  3995. For Multiple Masters fonts, choose an interpolated font design through design coordinates.
  3996. </para><para>
  3997. This function can't be used with GX fonts.
  3998. </para></summary>
  3999. <param name="coords">An array of design coordinates.</param>
  4000. </member>
  4001. <member name="M:SharpFont.Face.SetVarDesignCoordinates(System.Int64[])">
  4002. <summary>
  4003. For Multiple Master or GX Var fonts, choose an interpolated font design through design coordinates.
  4004. </summary>
  4005. <param name="coords">An array of design coordinates.</param>
  4006. </member>
  4007. <member name="M:SharpFont.Face.SetMMBlendCoordinates(System.Int64[])">
  4008. <summary>
  4009. For Multiple Masters and GX var fonts, choose an interpolated font design through normalized blend
  4010. coordinates.
  4011. </summary>
  4012. <param name="coords">The design coordinates array (each element must be between 0 and 1.0).</param>
  4013. </member>
  4014. <member name="M:SharpFont.Face.SetVarBlendCoordinates(System.Int64[])">
  4015. <summary>
  4016. This is another name of <see cref="M:SharpFont.Face.SetMMBlendCoordinates(System.Int64[])"/>.
  4017. </summary>
  4018. <param name="coords">The design coordinates array (each element must be between 0 and 1.0).</param>
  4019. </member>
  4020. <member name="M:SharpFont.Face.GetSfntTable(SharpFont.TrueType.SfntTag)">
  4021. <summary>
  4022. Return a pointer to a given SFNT table within a face.
  4023. </summary>
  4024. <remarks><para>
  4025. The table is owned by the face object and disappears with it.
  4026. </para><para>
  4027. This function is only useful to access SFNT tables that are loaded by the sfnt, truetype, and opentype
  4028. drivers. See <see cref="T:SharpFont.TrueType.SfntTag"/> for a list.
  4029. </para></remarks>
  4030. <param name="tag">The index of the SFNT table.</param>
  4031. <returns><para>
  4032. A type-less pointer to the table. This will be 0 in case of error, or if the corresponding table was not
  4033. found OR loaded from the file.
  4034. </para><para>
  4035. Use a typecast according to ‘tag’ to access the structure elements.
  4036. </para></returns>
  4037. </member>
  4038. <member name="M:SharpFont.Face.LoadSfntTable(System.UInt32,System.Int32,System.IntPtr,System.UInt32@)">
  4039. <summary>
  4040. Load any font table into client memory.
  4041. </summary>
  4042. <remarks>
  4043. If you need to determine the table's length you should first call this function with ‘*length’ set to 0, as
  4044. in the following example:
  4045. <code>
  4046. FT_ULong length = 0;
  4047. error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &amp;length );
  4048. if ( error ) { ... table does not exist ... }
  4049. buffer = malloc( length );
  4050. if ( buffer == NULL ) { ... not enough memory ... }
  4051. error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &amp;length );
  4052. if ( error ) { ... could not load table ... }
  4053. </code>
  4054. </remarks>
  4055. <param name="tag">
  4056. The four-byte tag of the table to load. Use the value 0 if you want to access the whole font file.
  4057. Otherwise, you can use one of the definitions found in the FT_TRUETYPE_TAGS_H file, or forge a new one with
  4058. FT_MAKE_TAG.
  4059. </param>
  4060. <param name="offset">The starting offset in the table (or file if tag == 0).</param>
  4061. <param name="buffer">
  4062. The target buffer address. The client must ensure that the memory array is big enough to hold the data.
  4063. </param>
  4064. <param name="length"><para>
  4065. If the ‘length’ parameter is NULL, then try to load the whole table. Return an error code if it fails.
  4066. </para><para>
  4067. Else, if ‘*length’ is 0, exit immediately while returning the table's (or file) full size in it.
  4068. </para><para>
  4069. Else the number of bytes to read from the table or file, from the starting offset.
  4070. </para></param>
  4071. </member>
  4072. <member name="M:SharpFont.Face.SfntTableInfo(System.UInt32,SharpFont.TrueType.SfntTag)">
  4073. <summary>
  4074. Return information on an SFNT table.
  4075. </summary>
  4076. <param name="tableIndex">
  4077. The index of an SFNT table. The function returns <see cref="F:SharpFont.Error.TableMissing"/> for an invalid value.
  4078. </param>
  4079. <param name="tag">
  4080. The name tag of the SFNT table. If the value is NULL, ‘table_index’ is ignored, and ‘length’ returns the
  4081. number of SFNT tables in the font.
  4082. </param>
  4083. <returns>The length of the SFNT table (or the number of SFNT tables, depending on ‘tag’).</returns>
  4084. </member>
  4085. <member name="M:SharpFont.Face.SfntTableInfo">
  4086. <summary>
  4087. Only gets the number of SFNT tables.
  4088. </summary>
  4089. <returns>The number of SFNT tables.</returns>
  4090. </member>
  4091. <member name="M:SharpFont.Face.HasPSGlyphNames">
  4092. <summary><para>
  4093. Return true if a given face provides reliable PostScript glyph names. This is similar to using the
  4094. <see cref="P:SharpFont.Face.HasGlyphNames"/> macro, except that certain fonts (mostly TrueType) contain incorrect
  4095. glyph name tables.
  4096. </para><para>
  4097. When this function returns true, the caller is sure that the glyph names returned by
  4098. <see cref="M:SharpFont.Face.GetGlyphName(System.UInt32,System.Int32)"/> are reliable.
  4099. </para></summary>
  4100. <returns>Boolean. True if glyph names are reliable.</returns>
  4101. </member>
  4102. <member name="M:SharpFont.Face.GetPSFontInfo">
  4103. <summary>
  4104. Retrieve the <see cref="T:SharpFont.PostScript.FontInfo"/> structure corresponding to a given PostScript font.
  4105. </summary>
  4106. <remarks><para>
  4107. The string pointers within the font info structure are owned by the face and don't need to be freed by the
  4108. caller.
  4109. </para><para>
  4110. If the font's format is not PostScript-based, this function will return the
  4111. <see cref="F:SharpFont.Error.InvalidArgument"/> error code.
  4112. </para></remarks>
  4113. <returns>Output font info structure pointer.</returns>
  4114. </member>
  4115. <member name="M:SharpFont.Face.GetPSFontPrivate">
  4116. <summary>
  4117. Retrieve the <see cref="T:SharpFont.PostScript.Private"/> structure corresponding to a given PostScript font.
  4118. </summary>
  4119. <remarks><para>
  4120. The string pointers within the <see cref="T:SharpFont.PostScript.Private"/> structure are owned by the face and don't
  4121. need to be freed by the caller.
  4122. </para><para>
  4123. If the font's format is not PostScript-based, this function returns the <see cref="F:SharpFont.Error.InvalidArgument"/>
  4124. error code.
  4125. </para></remarks>
  4126. <returns>Output private dictionary structure pointer.</returns>
  4127. </member>
  4128. <member name="M:SharpFont.Face.GetPSFontValue(SharpFont.PostScript.DictionaryKeys,System.UInt32,System.IntPtr@,System.Int32)">
  4129. <summary>
  4130. Retrieve the value for the supplied key from a PostScript font.
  4131. </summary>
  4132. <remarks><para>
  4133. The values returned are not pointers into the internal structures of the face, but are ‘fresh’ copies, so
  4134. that the memory containing them belongs to the calling application. This also enforces the ‘read-only’
  4135. nature of these values, i.e., this function cannot be used to manipulate the face.
  4136. </para><para>
  4137. ‘value’ is a void pointer because the values returned can be of various types.
  4138. </para><para>
  4139. If either ‘value’ is NULL or ‘value_len’ is too small, just the required memory size for the requested
  4140. entry is returned.
  4141. </para><para>
  4142. The ‘idx’ parameter is used, not only to retrieve elements of, for example, the FontMatrix or FontBBox, but
  4143. also to retrieve name keys from the CharStrings dictionary, and the charstrings themselves. It is ignored
  4144. for atomic values.
  4145. </para><para>
  4146. <see cref="F:SharpFont.PostScript.DictionaryKeys.BlueScale"/> returns a value that is scaled up by 1000. To get the
  4147. value as in the font stream, you need to divide by 65536000.0 (to remove the FT_Fixed scale, and the x1000
  4148. scale).
  4149. </para><para>
  4150. IMPORTANT: Only key/value pairs read by the FreeType interpreter can be retrieved. So, for example,
  4151. PostScript procedures such as NP, ND, and RD are not available. Arbitrary keys are, obviously, not be
  4152. available either.
  4153. </para><para>
  4154. If the font's format is not PostScript-based, this function returns the <see cref="F:SharpFont.Error.InvalidArgument"/>
  4155. error code.
  4156. </para></remarks>
  4157. <param name="key">An enumeration value representing the dictionary key to retrieve.</param>
  4158. <param name="idx">For array values, this specifies the index to be returned.</param>
  4159. <param name="value">A pointer to memory into which to write the value.</param>
  4160. <param name="valueLength">The size, in bytes, of the memory supplied for the value.</param>
  4161. <returns>
  4162. The amount of memory (in bytes) required to hold the requested value (if it exists, -1 otherwise).
  4163. </returns>
  4164. </member>
  4165. <member name="M:SharpFont.Face.GetSfntNameCount">
  4166. <summary>
  4167. Retrieve the number of name strings in the SFNT ‘name’ table.
  4168. </summary>
  4169. <returns>The number of strings in the ‘name’ table.</returns>
  4170. </member>
  4171. <member name="M:SharpFont.Face.GetSfntName(System.UInt32)">
  4172. <summary>
  4173. Retrieve a string of the SFNT ‘name’ table for a given index.
  4174. </summary>
  4175. <remarks><para>
  4176. The ‘string’ array returned in the ‘aname’ structure is not null-terminated. The application should
  4177. deallocate it if it is no longer in use.
  4178. </para><para>
  4179. Use <see cref="M:SharpFont.Face.GetSfntNameCount"/> to get the total number of available ‘name’ table entries, then do a
  4180. loop until you get the right platform, encoding, and name ID.
  4181. </para></remarks>
  4182. <param name="idx">The index of the ‘name’ string.</param>
  4183. <returns>The indexed <see cref="T:SharpFont.TrueType.SfntName"/> structure.</returns>
  4184. </member>
  4185. <member name="M:SharpFont.Face.GetBdfCharsetId(System.String@,System.String@)">
  4186. <summary>
  4187. Retrieve a BDF font character set identity, according to the BDF specification.
  4188. </summary>
  4189. <remarks>
  4190. This function only works with BDF faces, returning an error otherwise.
  4191. </remarks>
  4192. <param name="encoding">Charset encoding, as a C string, owned by the face.</param>
  4193. <param name="registry">Charset registry, as a C string, owned by the face.</param>
  4194. </member>
  4195. <member name="M:SharpFont.Face.GetBdfProperty(System.String)">
  4196. <summary>
  4197. Retrieve a BDF property from a BDF or PCF font file.
  4198. </summary>
  4199. <remarks><para>
  4200. This function works with BDF and PCF fonts. It returns an error otherwise. It also returns an error if the
  4201. property is not in the font.
  4202. </para><para>
  4203. A ‘property’ is a either key-value pair within the STARTPROPERTIES ... ENDPROPERTIES block of a BDF font or
  4204. a key-value pair from the ‘info->props’ array within a ‘FontRec’ structure of a PCF font.
  4205. </para><para>
  4206. Integer properties are always stored as ‘signed’ within PCF fonts; consequently,
  4207. <see cref="F:SharpFont.Bdf.PropertyType.Cardinal"/> is a possible return value for BDF fonts only.
  4208. </para><para>
  4209. In case of error, ‘aproperty->type’ is always set to <see cref="F:SharpFont.Bdf.PropertyType.None"/>.
  4210. </para></remarks>
  4211. <param name="propertyName">The property name.</param>
  4212. <returns>The property.</returns>
  4213. </member>
  4214. <member name="M:SharpFont.Face.GetCidRegistryOrderingSupplement(System.String@,System.String@,System.Int32@)">
  4215. <summary>
  4216. Retrieve the Registry/Ordering/Supplement triple (also known as the "R/O/S") from a CID-keyed font.
  4217. </summary>
  4218. <remarks>
  4219. This function only works with CID faces, returning an error otherwise.
  4220. </remarks>
  4221. <param name="registry">The registry, as a C string, owned by the face.</param>
  4222. <param name="ordering">The ordering, as a C string, owned by the face.</param>
  4223. <param name="supplement">The supplement.</param>
  4224. </member>
  4225. <member name="M:SharpFont.Face.GetCidIsInternallyCidKeyed">
  4226. <summary>
  4227. Retrieve the type of the input face, CID keyed or not. In constrast to the
  4228. <see cref="P:SharpFont.Face.IsCidKeyed"/> macro this function returns successfully also for CID-keyed fonts in an
  4229. SNFT wrapper.
  4230. </summary>
  4231. <remarks>
  4232. This function only works with CID faces and OpenType fonts, returning an error otherwise.
  4233. </remarks>
  4234. <returns>The type of the face as an FT_Bool.</returns>
  4235. </member>
  4236. <member name="M:SharpFont.Face.GetCidFromGlyphIndex(System.UInt32)">
  4237. <summary>
  4238. Retrieve the CID of the input glyph index.
  4239. </summary>
  4240. <remarks>
  4241. This function only works with CID faces and OpenType fonts, returning an error otherwise.
  4242. </remarks>
  4243. <param name="glyphIndex">The input glyph index.</param>
  4244. <returns>The CID as an uint.</returns>
  4245. </member>
  4246. <member name="M:SharpFont.Face.GetPfrMetrics(System.UInt32@,System.UInt32@,System.Int32@,System.Int32@)">
  4247. <summary>
  4248. Return the outline and metrics resolutions of a given PFR face.
  4249. </summary>
  4250. <remarks>
  4251. If the input face is not a PFR, this function will return an error. However, in all cases, it will return
  4252. valid values.
  4253. </remarks>
  4254. <param name="outlineResolution">
  4255. Outline resolution. This is equivalent to ‘face->units_per_EM’ for non-PFR fonts. Optional (parameter can
  4256. be NULL).
  4257. </param>
  4258. <param name="metricsResolution">
  4259. Metrics resolution. This is equivalent to ‘outline_resolution’ for non-PFR fonts. Optional (parameter can
  4260. be NULL).
  4261. </param>
  4262. <param name="metricsXScale">
  4263. A 16.16 fixed-point number used to scale distance expressed in metrics units to device sub-pixels. This is
  4264. equivalent to ‘face->size->x_scale’, but for metrics only. Optional (parameter can be NULL).
  4265. </param>
  4266. <param name="metricsYScale">
  4267. Same as ‘ametrics_x_scale’ but for the vertical direction. optional (parameter can be NULL).
  4268. </param>
  4269. </member>
  4270. <member name="M:SharpFont.Face.GetPfrKerning(System.UInt32,System.UInt32)">
  4271. <summary>
  4272. Return the kerning pair corresponding to two glyphs in a PFR face. The distance is expressed in metrics
  4273. units, unlike the result of <see cref="M:SharpFont.Face.GetKerning(System.UInt32,System.UInt32,SharpFont.KerningMode)"/>.
  4274. </summary>
  4275. <remarks><para>
  4276. This function always return distances in original PFR metrics units. This is unlike
  4277. <see cref="M:SharpFont.Face.GetKerning(System.UInt32,System.UInt32,SharpFont.KerningMode)"/> with the <see cref="F:SharpFont.KerningMode.Unscaled"/> mode, which always returns
  4278. distances converted to outline units.
  4279. </para><para>
  4280. You can use the value of the ‘x_scale’ and ‘y_scale’ parameters returned by <see cref="M:SharpFont.Face.GetPfrMetrics(System.UInt32@,System.UInt32@,System.Int32@,System.Int32@)"/> to
  4281. scale these to device sub-pixels.
  4282. </para></remarks>
  4283. <param name="left">Index of the left glyph.</param>
  4284. <param name="right">Index of the right glyph.</param>
  4285. <returns>A kerning vector.</returns>
  4286. </member>
  4287. <member name="M:SharpFont.Face.GetPfrAdvance(System.UInt32)">
  4288. <summary>
  4289. Return a given glyph advance, expressed in original metrics units, from a PFR font.
  4290. </summary>
  4291. <remarks>
  4292. You can use the ‘x_scale’ or ‘y_scale’ results of <see cref="M:SharpFont.Face.GetPfrMetrics(System.UInt32@,System.UInt32@,System.Int32@,System.Int32@)"/> to convert the advance to
  4293. device sub-pixels (i.e., 1/64th of pixels).
  4294. </remarks>
  4295. <param name="glyphIndex">The glyph index.</param>
  4296. <returns>The glyph advance in metrics units.</returns>
  4297. </member>
  4298. <member name="M:SharpFont.Face.GetWinFntHeader">
  4299. <summary>
  4300. Retrieve a Windows FNT font info header.
  4301. </summary>
  4302. <remarks>
  4303. This function only works with Windows FNT faces, returning an error otherwise.
  4304. </remarks>
  4305. <returns>The WinFNT header.</returns>
  4306. </member>
  4307. <member name="M:SharpFont.Face.GetX11FontFormat">
  4308. <summary>
  4309. Return a string describing the format of a given face, using values which can be used as an X11
  4310. FONT_PROPERTY. Possible values are ‘TrueType’, ‘Type 1’, ‘BDF’, ‘PCF’, ‘Type 42’, ‘CID Type 1’, ‘CFF’,
  4311. ‘PFR’, and ‘Windows FNT’.
  4312. </summary>
  4313. <returns>Font format string. NULL in case of error.</returns>
  4314. </member>
  4315. <member name="M:SharpFont.Face.GetGasp(System.UInt32)">
  4316. <summary>
  4317. Read the ‘gasp’ table from a TrueType or OpenType font file and return the entry corresponding to a given
  4318. character pixel size.
  4319. </summary>
  4320. <param name="ppem">The vertical character pixel size.</param>
  4321. <returns>
  4322. Bit flags (see <see cref="T:SharpFont.Gasp"/>), or <see cref="F:SharpFont.Gasp.NoTable"/> if there is no ‘gasp’ table in the face.
  4323. </returns>
  4324. </member>
  4325. <member name="M:SharpFont.Face.GetAdvance(System.UInt32,SharpFont.LoadFlags)">
  4326. <summary>
  4327. Retrieve the advance value of a given glyph outline in a <see cref="T:SharpFont.Face"/>. By default, the unhinted
  4328. advance is returned in font units.
  4329. </summary>
  4330. <remarks><para>
  4331. This function may fail if you use <see cref="F:SharpFont.LoadFlags.AdvanceFlagFastOnly"/> and if the corresponding font
  4332. backend doesn't have a quick way to retrieve the advances.
  4333. </para><para>
  4334. A scaled advance is returned in 16.16 format but isn't transformed by the affine transformation specified
  4335. by <see cref="M:SharpFont.Face.SetTransform(SharpFont.FTMatrix,SharpFont.FTVector)"/>.
  4336. </para></remarks>
  4337. <param name="glyphIndex">The glyph index.</param>
  4338. <param name="flags">
  4339. A set of bit flags similar to those used when calling <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>, used to determine what kind
  4340. of advances you need.
  4341. </param>
  4342. <returns><para>
  4343. The advance value, in either font units or 16.16 format.
  4344. </para><para>
  4345. If <see cref="F:SharpFont.LoadFlags.VerticalLayout"/> is set, this is the vertical advance corresponding to a vertical
  4346. layout. Otherwise, it is the horizontal advance in a horizontal layout.
  4347. </para></returns>
  4348. </member>
  4349. <member name="M:SharpFont.Face.GetAdvances(System.UInt32,System.UInt32,SharpFont.LoadFlags)">
  4350. <summary>
  4351. Retrieve the advance values of several glyph outlines in an
  4352. <see cref="T:SharpFont.Face"/>. By default, the unhinted advances are returned
  4353. in font units.
  4354. </summary>
  4355. <remarks><para>
  4356. This function may fail if you use
  4357. <see cref="F:SharpFont.LoadFlags.AdvanceFlagFastOnly"/> and if the
  4358. corresponding font backend doesn't have a quick way to retrieve the
  4359. advances.
  4360. </para><para>
  4361. Scaled advances are returned in 16.16 format but aren't transformed
  4362. by the affine transformation specified by
  4363. <see cref="M:SharpFont.Face.SetTransform(SharpFont.FTMatrix,SharpFont.FTVector)"/>.
  4364. </para></remarks>
  4365. <param name="start">The first glyph index.</param>
  4366. <param name="count">The number of advance values you want to retrieve.</param>
  4367. <param name="flags">A set of bit flags similar to those used when calling <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>.</param>
  4368. <returns><para>The advances, in either font units or 16.16 format. This array must contain at least ‘count’ elements.
  4369. </para><para>
  4370. If <see cref="F:SharpFont.LoadFlags.VerticalLayout"/> is set, these are the vertical advances corresponding to a vertical layout. Otherwise, they are the horizontal advances in a horizontal layout.</para></returns>
  4371. </member>
  4372. <member name="M:SharpFont.Face.OpenTypeValidate(SharpFont.OpenTypeValidationFlags,System.IntPtr@,System.IntPtr@,System.IntPtr@,System.IntPtr@,System.IntPtr@)">
  4373. <summary>
  4374. Validate various OpenType tables to assure that all offsets and indices are valid. The idea is that a
  4375. higher-level library which actually does the text layout can access those tables without error checking
  4376. (which can be quite time consuming).
  4377. </summary>
  4378. <remarks><para>
  4379. This function only works with OpenType fonts, returning an error otherwise.
  4380. </para><para>
  4381. After use, the application should deallocate the five tables with <see cref="M:SharpFont.Face.OpenTypeFree(System.IntPtr)"/>. A NULL value
  4382. indicates that the table either doesn't exist in the font, or the application hasn't asked for validation.
  4383. </para></remarks>
  4384. <param name="flags">A bit field which specifies the tables to be validated.</param>
  4385. <param name="baseTable">A pointer to the BASE table.</param>
  4386. <param name="gdefTable">A pointer to the GDEF table.</param>
  4387. <param name="gposTable">A pointer to the GPOS table.</param>
  4388. <param name="gsubTable">A pointer to the GSUB table.</param>
  4389. <param name="jstfTable">A pointer to the JSTF table.</param>
  4390. </member>
  4391. <member name="M:SharpFont.Face.OpenTypeFree(System.IntPtr)">
  4392. <summary>
  4393. Free the buffer allocated by OpenType validator.
  4394. </summary>
  4395. <remarks>
  4396. This function must be used to free the buffer allocated by <see cref="M:SharpFont.Face.OpenTypeValidate(SharpFont.OpenTypeValidationFlags,System.IntPtr@,System.IntPtr@,System.IntPtr@,System.IntPtr@,System.IntPtr@)"/> only.
  4397. </remarks>
  4398. <param name="table">The pointer to the buffer that is allocated by <see cref="M:SharpFont.Face.OpenTypeValidate(SharpFont.OpenTypeValidationFlags,System.IntPtr@,System.IntPtr@,System.IntPtr@,System.IntPtr@,System.IntPtr@)"/>.</param>
  4399. </member>
  4400. <member name="M:SharpFont.Face.TrueTypeGXValidate(SharpFont.TrueTypeValidationFlags,System.Byte[][],System.UInt32)">
  4401. <summary>
  4402. Validate various TrueTypeGX tables to assure that all offsets and indices are valid. The idea is that a
  4403. higher-level library which actually does the text layout can access those tables without error checking
  4404. (which can be quite time consuming).
  4405. </summary>
  4406. <remarks><para>
  4407. This function only works with TrueTypeGX fonts, returning an error otherwise.
  4408. </para><para>
  4409. After use, the application should deallocate the buffers pointed to by each ‘tables’ element, by calling
  4410. <see cref="M:SharpFont.Face.TrueTypeGXFree(System.IntPtr)"/>. A NULL value indicates that the table either doesn't exist in the font, the
  4411. application hasn't asked for validation, or the validator doesn't have the ability to validate the sfnt
  4412. table.
  4413. </para></remarks>
  4414. <param name="flags">A bit field which specifies the tables to be validated.</param>
  4415. <param name="tables">
  4416. The array where all validated sfnt tables are stored. The array itself must be allocated by a client.
  4417. </param>
  4418. <param name="tableLength">
  4419. The size of the ‘tables’ array. Normally, FT_VALIDATE_GX_LENGTH should be passed.
  4420. </param>
  4421. </member>
  4422. <member name="M:SharpFont.Face.TrueTypeGXFree(System.IntPtr)">
  4423. <summary>
  4424. Free the buffer allocated by TrueTypeGX validator.
  4425. </summary>
  4426. <remarks>
  4427. This function must be used to free the buffer allocated by <see cref="M:SharpFont.Face.TrueTypeGXValidate(SharpFont.TrueTypeValidationFlags,System.Byte[][],System.UInt32)"/> only.
  4428. </remarks>
  4429. <param name="table">The pointer to the buffer allocated by <see cref="M:SharpFont.Face.TrueTypeGXValidate(SharpFont.TrueTypeValidationFlags,System.Byte[][],System.UInt32)"/>.</param>
  4430. </member>
  4431. <member name="M:SharpFont.Face.ClassicKernValidate(SharpFont.ClassicKernValidationFlags)">
  4432. <summary><para>
  4433. Validate classic (16-bit format) kern table to assure that the offsets and indices are valid. The idea is
  4434. that a higher-level library which actually does the text layout can access those tables without error
  4435. checking (which can be quite time consuming).
  4436. </para><para>
  4437. The ‘kern’ table validator in <see cref="M:SharpFont.Face.TrueTypeGXValidate(SharpFont.TrueTypeValidationFlags,System.Byte[][],System.UInt32)"/> deals with both the new 32-bit format and
  4438. the classic 16-bit format, while <see cref="M:SharpFont.Face.ClassicKernValidate(SharpFont.ClassicKernValidationFlags)"/> only supports the classic 16-bit format.
  4439. </para></summary>
  4440. <remarks>
  4441. After use, the application should deallocate the buffers pointed to by ‘ckern_table’, by calling
  4442. <see cref="M:SharpFont.Face.ClassicKernFree(System.IntPtr)"/>. A NULL value indicates that the table doesn't exist in the font.
  4443. </remarks>
  4444. <param name="flags">A bit field which specifies the dialect to be validated.</param>
  4445. <returns>A pointer to the kern table.</returns>
  4446. </member>
  4447. <member name="M:SharpFont.Face.ClassicKernFree(System.IntPtr)">
  4448. <summary>
  4449. Free the buffer allocated by classic Kern validator.
  4450. </summary>
  4451. <remarks>
  4452. This function must be used to free the buffer allocated by <see cref="M:SharpFont.Face.ClassicKernValidate(SharpFont.ClassicKernValidationFlags)"/> only.
  4453. </remarks>
  4454. <param name="table">
  4455. The pointer to the buffer that is allocated by <see cref="M:SharpFont.Face.ClassicKernValidate(SharpFont.ClassicKernValidationFlags)"/>.
  4456. </param>
  4457. </member>
  4458. <member name="M:SharpFont.Face.Dispose">
  4459. <summary>
  4460. Disposes the Face.
  4461. </summary>
  4462. </member>
  4463. <member name="T:SharpFont.FaceFlags">
  4464. <summary>
  4465. A list of bit flags used in the ‘face_flags’ field of the <see cref="T:SharpFont.Face"/> structure. They inform client
  4466. applications of properties of the corresponding face.
  4467. </summary>
  4468. </member>
  4469. <member name="F:SharpFont.FaceFlags.None">
  4470. <summary>
  4471. No style flags.
  4472. </summary>
  4473. </member>
  4474. <member name="F:SharpFont.FaceFlags.Scalable">
  4475. <summary>
  4476. Indicates that the face contains outline glyphs. This doesn't prevent bitmap strikes, i.e., a face can have
  4477. both this and and <see cref="F:SharpFont.FaceFlags.FixedSizes"/> set.
  4478. </summary>
  4479. </member>
  4480. <member name="F:SharpFont.FaceFlags.FixedSizes">
  4481. <summary>
  4482. Indicates that the face contains bitmap strikes. See also <see cref="P:SharpFont.Face.FixedSizesCount"/> and
  4483. <see cref="P:SharpFont.Face.AvailableSizes"/>.
  4484. </summary>
  4485. </member>
  4486. <member name="F:SharpFont.FaceFlags.FixedWidth">
  4487. <summary>
  4488. Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.).
  4489. </summary>
  4490. </member>
  4491. <member name="F:SharpFont.FaceFlags.Sfnt">
  4492. <summary>
  4493. Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType.
  4494. </summary>
  4495. </member>
  4496. <member name="F:SharpFont.FaceFlags.Horizontal">
  4497. <summary>
  4498. Indicates that the face contains horizontal glyph metrics. This should be set for all common formats.
  4499. </summary>
  4500. </member>
  4501. <member name="F:SharpFont.FaceFlags.Vertical">
  4502. <summary>
  4503. Indicates that the face contains vertical glyph metrics. This is only available in some formats, not all of
  4504. them.
  4505. </summary>
  4506. </member>
  4507. <member name="F:SharpFont.FaceFlags.Kerning">
  4508. <summary>
  4509. Indicates that the face contains kerning information. If set, the kerning distance can be retrieved through
  4510. the function <see cref="M:SharpFont.Face.GetKerning(System.UInt32,System.UInt32,SharpFont.KerningMode)"/>. Otherwise the function always return the vector (0,0). Note
  4511. that FreeType doesn't handle kerning data from the ‘GPOS’ table (as present in some OpenType fonts).
  4512. </summary>
  4513. </member>
  4514. <member name="F:SharpFont.FaceFlags.MultipleMasters">
  4515. <summary>
  4516. Indicates that the font contains multiple masters and is capable of interpolating between them. See the
  4517. multiple-masters specific API for details.
  4518. </summary>
  4519. </member>
  4520. <member name="F:SharpFont.FaceFlags.GlyphNames">
  4521. <summary>
  4522. Indicates that the font contains glyph names that can be retrieved through
  4523. <see cref="M:SharpFont.Face.GetGlyphName(System.UInt32,System.Int32)"/>. Note that some TrueType fonts contain broken glyph name
  4524. tables. Use the function <see cref="M:SharpFont.Face.HasPSGlyphNames"/> when needed.
  4525. </summary>
  4526. </member>
  4527. <member name="F:SharpFont.FaceFlags.ExternalStream">
  4528. <summary>
  4529. Used internally by FreeType to indicate that a face's stream was provided by the client application and
  4530. should not be destroyed when <see cref="M:SharpFont.Face.Dispose"/> is called. Don't read or test this flag.
  4531. </summary>
  4532. </member>
  4533. <member name="F:SharpFont.FaceFlags.Hinter">
  4534. <summary>
  4535. Set if the font driver has a hinting machine of its own. For example, with TrueType fonts, it makes sense
  4536. to use data from the SFNT ‘gasp’ table only if the native TrueType hinting engine (with the bytecode
  4537. interpreter) is available and active.
  4538. </summary>
  4539. </member>
  4540. <member name="F:SharpFont.FaceFlags.CidKeyed">
  4541. <summary><para>
  4542. Set if the font is CID-keyed. In that case, the font is not accessed by glyph indices but by CID values.
  4543. For subsetted CID-keyed fonts this has the consequence that not all index values are a valid argument to
  4544. <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>. Only the CID values for which corresponding glyphs in the subsetted font
  4545. exist make <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/> return successfully; in all other cases you get an
  4546. <see cref="F:SharpFont.Error.InvalidArgument"/> error.
  4547. </para><para>
  4548. Note that CID-keyed fonts which are in an SFNT wrapper don't have this flag set since the glyphs are
  4549. accessed in the normal way (using contiguous indices); the ‘CID-ness’ isn't visible to the application.
  4550. </para></summary>
  4551. </member>
  4552. <member name="F:SharpFont.FaceFlags.Tricky">
  4553. <summary><para>
  4554. Set if the font is ‘tricky’, this is, it always needs the font format's native hinting engine to get a
  4555. reasonable result. A typical example is the Chinese font ‘mingli.ttf’ which uses TrueType bytecode
  4556. instructions to move and scale all of its subglyphs.
  4557. </para><para>
  4558. It is not possible to autohint such fonts using <see cref="F:SharpFont.LoadFlags.ForceAutohint"/>; it will also ignore
  4559. <see cref="F:SharpFont.LoadFlags.NoHinting"/>. You have to set both <see cref="F:SharpFont.LoadFlags.NoHinting"/> and
  4560. <see cref="F:SharpFont.LoadFlags.ForceAutohint"/> to really disable hinting; however, you probably never want this
  4561. except for demonstration purposes.
  4562. </para><para>
  4563. Currently, there are about a dozen TrueType fonts in the list of tricky fonts; they are hard-coded in file
  4564. ‘ttobjs.c’.
  4565. </para></summary>
  4566. </member>
  4567. <member name="T:SharpFont.FreeTypeException">
  4568. <summary>
  4569. An exception that gets thrown when FreeType returns an error code.
  4570. </summary>
  4571. </member>
  4572. <member name="M:SharpFont.FreeTypeException.#ctor(SharpFont.Error)">
  4573. <summary>
  4574. Initializes a new instance of the <see cref="T:SharpFont.FreeTypeException"/> class.
  4575. </summary>
  4576. <param name="error">The error returned by FreeType.</param>
  4577. </member>
  4578. <member name="P:SharpFont.FreeTypeException.Error">
  4579. <summary>
  4580. Gets the FreeType error code that caused the exception.
  4581. </summary>
  4582. </member>
  4583. <member name="T:SharpFont.EmbeddingTypes">
  4584. <summary>
  4585. A list of bit flags used in the ‘fsType’ field of the OS/2 table in a
  4586. TrueType or OpenType font and the ‘FSType’ entry in a PostScript font.
  4587. These bit flags are returned by FT_Get_FSType_Flags; they inform client
  4588. applications of embedding and subsetting restrictions associated with a
  4589. font.
  4590. </summary>
  4591. <remarks>
  4592. While the fsType flags can indicate that a font may be embedded, a
  4593. license with the font vendor may be separately required to use the font
  4594. in this way.
  4595. </remarks>
  4596. <see href="http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf"/>
  4597. </member>
  4598. <member name="F:SharpFont.EmbeddingTypes.Installable">
  4599. <summary>
  4600. Fonts with no fsType bit set may be embedded and permanently
  4601. installed on the remote system by an application.
  4602. </summary>
  4603. </member>
  4604. <member name="F:SharpFont.EmbeddingTypes.RestrictedLicense">
  4605. <summary>
  4606. Fonts that have only this bit set must not be modified, embedded
  4607. or exchanged in any manner without first obtaining permission of
  4608. the font software copyright owner.
  4609. </summary>
  4610. </member>
  4611. <member name="F:SharpFont.EmbeddingTypes.PreviewAndPrint">
  4612. <summary>
  4613. If this bit is set, the font may be embedded and temporarily loaded
  4614. on the remote system. Documents containing Preview &amp; Print
  4615. fonts must be opened ‘read-only’; no edits can be applied to the
  4616. document.
  4617. </summary>
  4618. </member>
  4619. <member name="F:SharpFont.EmbeddingTypes.Editable">
  4620. <summary>
  4621. If this bit is set, the font may be embedded but must only be
  4622. installed temporarily on other systems. In contrast to Preview
  4623. &amp; Print fonts, documents containing editable fonts may be
  4624. opened for reading, editing is permitted, and changes may be saved.
  4625. </summary>
  4626. </member>
  4627. <member name="F:SharpFont.EmbeddingTypes.NoSubsetting">
  4628. <summary>
  4629. If this bit is set, the font may not be subsetted prior to
  4630. embedding.
  4631. </summary>
  4632. </member>
  4633. <member name="F:SharpFont.EmbeddingTypes.BitmapOnly">
  4634. <summary>
  4635. If this bit is set, only bitmaps contained in the font may be
  4636. embedded; no outline data may be embedded. If there are no bitmaps
  4637. available in the font, then the font is unembeddable.
  4638. </summary>
  4639. </member>
  4640. <member name="T:SharpFont.FT">
  4641. <summary>
  4642. Provides an API very similar to the original FreeType API.
  4643. </summary>
  4644. <remarks>
  4645. Useful for porting over C code that relies on FreeType. For everything else, use the instance methods of the
  4646. classes provided by SharpFont, they are designed to follow .NET naming and style conventions.
  4647. </remarks>
  4648. <content>
  4649. This file contains all the raw FreeType2 function signatures.
  4650. </content>
  4651. </member>
  4652. <member name="F:SharpFont.FT.AnglePI">
  4653. <summary>
  4654. The angle pi expressed in FT_Angle units.
  4655. </summary>
  4656. </member>
  4657. <member name="F:SharpFont.FT.Angle2PI">
  4658. <summary>
  4659. The angle 2*pi expressed in FT_Angle units.
  4660. </summary>
  4661. </member>
  4662. <member name="F:SharpFont.FT.AnglePI2">
  4663. <summary>
  4664. The angle pi/2 expressed in FT_Angle units.
  4665. </summary>
  4666. </member>
  4667. <member name="F:SharpFont.FT.AnglePI4">
  4668. <summary>
  4669. The angle pi/4 expressed in FT_Angle units.
  4670. </summary>
  4671. </member>
  4672. <member name="M:SharpFont.FT.MulDiv(System.Int32,System.Int32,System.Int32)">
  4673. <summary><para>
  4674. A very simple function used to perform the computation ‘(a*b)/c’ with maximal accuracy (it uses a 64-bit
  4675. intermediate integer whenever necessary).
  4676. </para><para>
  4677. This function isn't necessarily as fast as some processor specific operations, but is at least completely
  4678. portable.
  4679. </para></summary>
  4680. <param name="a">The first multiplier.</param>
  4681. <param name="b">The second multiplier.</param>
  4682. <param name="c">The divisor.</param>
  4683. <returns>
  4684. The result of ‘(a*b)/c’. This function never traps when trying to divide by zero; it simply returns
  4685. ‘MaxInt’ or ‘MinInt’ depending on the signs of ‘a’ and ‘b’.
  4686. </returns>
  4687. </member>
  4688. <member name="M:SharpFont.FT.MulFix(System.Int32,System.Int32)">
  4689. <summary>
  4690. A very simple function used to perform the computation ‘(a*b)/0x10000’ with maximal accuracy. Most of the
  4691. time this is used to multiply a given value by a 16.16 fixed float factor.
  4692. </summary>
  4693. <remarks><para>
  4694. This function has been optimized for the case where the absolute value of ‘a’ is less than 2048, and ‘b’ is
  4695. a 16.16 scaling factor. As this happens mainly when scaling from notional units to fractional pixels in
  4696. FreeType, it resulted in noticeable speed improvements between versions 2.x and 1.x.
  4697. </para><para>
  4698. As a conclusion, always try to place a 16.16 factor as the second argument of this function; this can make
  4699. a great difference.
  4700. </para></remarks>
  4701. <param name="a">The first multiplier.</param>
  4702. <param name="b">The second multiplier. Use a 16.16 factor here whenever possible (see note below).</param>
  4703. <returns>The result of ‘(a*b)/0x10000’.</returns>
  4704. </member>
  4705. <member name="M:SharpFont.FT.DivFix(System.Int32,System.Int32)">
  4706. <summary>
  4707. A very simple function used to perform the computation ‘(a*0x10000)/b’ with maximal accuracy. Most of the
  4708. time, this is used to divide a given value by a 16.16 fixed float factor.
  4709. </summary>
  4710. <remarks>
  4711. The optimization for <see cref="M:SharpFont.FT.DivFix(System.Int32,System.Int32)"/> is simple: If (a &lt;&lt; 16) fits in 32 bits, then the division
  4712. is computed directly. Otherwise, we use a specialized version of <see cref="M:SharpFont.FT.MulDiv(System.Int32,System.Int32,System.Int32)"/>.
  4713. </remarks>
  4714. <param name="a">The first multiplier.</param>
  4715. <param name="b">The second multiplier. Use a 16.16 factor here whenever possible (see note below).</param>
  4716. <returns>The result of ‘(a*0x10000)/b’.</returns>
  4717. </member>
  4718. <member name="M:SharpFont.FT.RoundFix(System.Int32)">
  4719. <summary>
  4720. A very simple function used to round a 16.16 fixed number.
  4721. </summary>
  4722. <param name="a">The number to be rounded.</param>
  4723. <returns>The result of ‘(a + 0x8000) &amp; -0x10000’.</returns>
  4724. </member>
  4725. <member name="M:SharpFont.FT.CeilFix(System.Int32)">
  4726. <summary>
  4727. A very simple function used to compute the ceiling function of a 16.16 fixed number.
  4728. </summary>
  4729. <param name="a">The number for which the ceiling function is to be computed.</param>
  4730. <returns>The result of ‘(a + 0x10000 - 1) &amp; -0x10000’.</returns>
  4731. </member>
  4732. <member name="M:SharpFont.FT.FloorFix(System.Int32)">
  4733. <summary>
  4734. A very simple function used to compute the floor function of a 16.16 fixed number.
  4735. </summary>
  4736. <param name="a">The number for which the floor function is to be computed.</param>
  4737. <returns>The result of ‘a &amp; -0x10000’.</returns>
  4738. </member>
  4739. <member name="M:SharpFont.FT.Sin(System.Int32)">
  4740. <summary>
  4741. Return the sinus of a given angle in fixed point format.
  4742. </summary>
  4743. <remarks>
  4744. If you need both the sinus and cosinus for a given angle, use the function <see cref="M:SharpFont.FTVector.Unit(System.Int32)"/>.
  4745. </remarks>
  4746. <param name="angle">The input angle.</param>
  4747. <returns>The sinus value.</returns>
  4748. </member>
  4749. <member name="M:SharpFont.FT.Cos(System.Int32)">
  4750. <summary>
  4751. Return the cosinus of a given angle in fixed point format.
  4752. </summary>
  4753. <remarks>
  4754. If you need both the sinus and cosinus for a given angle, use the function <see cref="M:SharpFont.FTVector.Unit(System.Int32)"/>.
  4755. </remarks>
  4756. <param name="angle">The input angle.</param>
  4757. <returns>The cosinus value.</returns>
  4758. </member>
  4759. <member name="M:SharpFont.FT.Tan(System.Int32)">
  4760. <summary>
  4761. Return the tangent of a given angle in fixed point format.
  4762. </summary>
  4763. <param name="angle">The input angle.</param>
  4764. <returns>The tangent value.</returns>
  4765. </member>
  4766. <member name="M:SharpFont.FT.Atan2(System.Int32,System.Int32)">
  4767. <summary>
  4768. Return the arc-tangent corresponding to a given vector (x,y) in the 2d plane.
  4769. </summary>
  4770. <param name="x">The horizontal vector coordinate.</param>
  4771. <param name="y">The vertical vector coordinate.</param>
  4772. <returns>The arc-tangent value (i.e. angle).</returns>
  4773. </member>
  4774. <member name="M:SharpFont.FT.AngleDiff(System.Int32,System.Int32)">
  4775. <summary>
  4776. Return the difference between two angles. The result is always constrained to the [-PI..PI] interval.
  4777. </summary>
  4778. <param name="angle1">First angle.</param>
  4779. <param name="angle2">Second angle.</param>
  4780. <returns>Constrained value of ‘value2-value1’.</returns>
  4781. </member>
  4782. <member name="M:SharpFont.FT.GetFileFromMacName(System.String,System.Int32@)">
  4783. <summary>
  4784. Return an FSSpec for the disk file containing the named font.
  4785. </summary>
  4786. <param name="fontName">Mac OS name of the font (e.g., Times New Roman Bold).</param>
  4787. <param name="faceIndex">Index of the face. For passing to <see cref="M:SharpFont.Library.NewFaceFromFSSpec(System.IntPtr,System.Int32)"/>.</param>
  4788. <returns>FSSpec to the file. For passing to <see cref="M:SharpFont.Library.NewFaceFromFSSpec(System.IntPtr,System.Int32)"/>.</returns>
  4789. </member>
  4790. <member name="M:SharpFont.FT.GetFileFromMacAtsName(System.String,System.Int32@)">
  4791. <summary>
  4792. Return an FSSpec for the disk file containing the named font.
  4793. </summary>
  4794. <param name="fontName">Mac OS name of the font in ATS framework.</param>
  4795. <param name="faceIndex">Index of the face. For passing to <see cref="M:SharpFont.Library.NewFaceFromFSSpec(System.IntPtr,System.Int32)"/>.</param>
  4796. <returns>FSSpec to the file. For passing to <see cref="M:SharpFont.Library.NewFaceFromFSSpec(System.IntPtr,System.Int32)"/>.</returns>
  4797. </member>
  4798. <member name="M:SharpFont.FT.GetFilePathFromMacAtsName(System.String,System.Byte[])">
  4799. <summary>
  4800. Return a pathname of the disk file and face index for given font name which is handled by ATS framework.
  4801. </summary>
  4802. <param name="fontName">Mac OS name of the font in ATS framework.</param>
  4803. <param name="path">
  4804. Buffer to store pathname of the file. For passing to <see cref="M:SharpFont.Library.NewFace(System.String,System.Int32)"/>. The client must
  4805. allocate this buffer before calling this function.
  4806. </param>
  4807. <returns>Index of the face. For passing to <see cref="M:SharpFont.Library.NewFace(System.String,System.Int32)"/>.</returns>
  4808. </member>
  4809. <member name="F:SharpFont.FT.FreetypeDll">
  4810. <summary>
  4811. Defines the location of the FreeType DLL. Update SharpFont.dll.config if you change this!
  4812. </summary>
  4813. </member>
  4814. <member name="F:SharpFont.FT.CallConvention">
  4815. <summary>
  4816. Defines the calling convention for P/Invoking the native freetype methods.
  4817. </summary>
  4818. </member>
  4819. <member name="T:SharpFont.Gasp">
  4820. <summary>
  4821. A list of values and/or bit-flags returned by the FT_Get_Gasp function.
  4822. </summary>
  4823. <remarks><para>
  4824. The bit-flags <see cref="F:SharpFont.Gasp.DoGridfit"/> and <see cref="F:SharpFont.Gasp.DoGray"/> are to be used for standard font
  4825. rasterization only. Independently of that, <see cref="F:SharpFont.Gasp.SymmetricSmoothing"/> and
  4826. <see cref="F:SharpFont.Gasp.SymmetricGridfit"/> are to be used if ClearType is enabled (and <see cref="F:SharpFont.Gasp.DoGridfit"/>
  4827. and <see cref="F:SharpFont.Gasp.DoGray"/> are consequently ignored).
  4828. </para><para>
  4829. ‘ClearType’ is Microsoft's implementation of LCD rendering, partly protected by patents.
  4830. </para></remarks>
  4831. </member>
  4832. <member name="F:SharpFont.Gasp.NoTable">
  4833. <summary>
  4834. This special value means that there is no GASP table in this face. It is up to the client to decide what to
  4835. do.
  4836. </summary>
  4837. </member>
  4838. <member name="F:SharpFont.Gasp.DoGridfit">
  4839. <summary>
  4840. Grid-fitting and hinting should be performed at the specified ppem. This really means TrueType bytecode
  4841. interpretation. If this bit is not set, no hinting gets applied.
  4842. </summary>
  4843. </member>
  4844. <member name="F:SharpFont.Gasp.DoGray">
  4845. <summary>
  4846. Anti-aliased rendering should be performed at the specified ppem. If not set, do monochrome rendering.
  4847. </summary>
  4848. </member>
  4849. <member name="F:SharpFont.Gasp.SymmetricSmoothing">
  4850. <summary>
  4851. If set, smoothing along multiple axes must be used with ClearType.
  4852. </summary>
  4853. </member>
  4854. <member name="F:SharpFont.Gasp.SymmetricGridfit">
  4855. <summary>
  4856. Grid-fitting must be used with ClearType's symmetric smoothing.
  4857. </summary>
  4858. </member>
  4859. <member name="T:SharpFont.GenericFinalizer">
  4860. <summary>
  4861. Describe a function used to destroy the ‘client’ data of any FreeType object. See the description of the
  4862. <see cref="T:SharpFont.Generic"/> type for details of usage.
  4863. </summary>
  4864. <param name="object">
  4865. The address of the FreeType object which is under finalization. Its client data is accessed through its
  4866. ‘generic’ field.
  4867. </param>
  4868. </member>
  4869. <member name="T:SharpFont.Generic">
  4870. <summary><para>
  4871. Client applications often need to associate their own data to a variety of FreeType core objects. For example,
  4872. a text layout API might want to associate a glyph cache to a given size object.
  4873. </para><para>
  4874. Most FreeType object contains a ‘generic’ field, of type <see cref="T:SharpFont.Generic"/>, which usage is left to client
  4875. applications and font servers.
  4876. </para><para>
  4877. It can be used to store a pointer to client-specific data, as well as the address of a ‘finalizer’ function,
  4878. which will be called by FreeType when the object is destroyed (for example, the previous client example would
  4879. put the address of the glyph cache destructor in the ‘finalizer’ field).
  4880. </para></summary>
  4881. </member>
  4882. <member name="M:SharpFont.Generic.#ctor(System.IntPtr,SharpFont.GenericFinalizer)">
  4883. <summary>
  4884. Initializes a new instance of the <see cref="T:SharpFont.Generic"/> class.
  4885. </summary>
  4886. <param name="data">
  4887. A typeless pointer to some client data. The data it cointains must stay fixed until finalizer is called.
  4888. </param>
  4889. <param name="finalizer">A delegate that gets called when the contained object gets finalized.</param>
  4890. </member>
  4891. <member name="P:SharpFont.Generic.SizeInBytes">
  4892. <summary>
  4893. Gets the size of a <see cref="T:SharpFont.Generic"/>, in bytes.
  4894. </summary>
  4895. </member>
  4896. <member name="P:SharpFont.Generic.Data">
  4897. <summary>
  4898. Gets or sets a typeless pointer to any client-specified data. This field is completely ignored by the
  4899. FreeType library.
  4900. </summary>
  4901. </member>
  4902. <member name="P:SharpFont.Generic.Finalizer">
  4903. <summary>
  4904. Gets or sets a pointer to a <see cref="T:SharpFont.GenericFinalizer"/> function, which will be called when the object
  4905. is destroyed. If this field is set to NULL, no code will be called.
  4906. </summary>
  4907. </member>
  4908. <member name="T:SharpFont.Glyph">
  4909. <summary>
  4910. The root glyph structure contains a given glyph image plus its advance width in 16.16 fixed float format.
  4911. </summary>
  4912. </member>
  4913. <member name="M:SharpFont.Glyph.Finalize">
  4914. <summary>
  4915. Finalizes an instance of the Glyph class.
  4916. </summary>
  4917. </member>
  4918. <member name="P:SharpFont.Glyph.IsDisposed">
  4919. <summary>
  4920. Gets a value indicating whether the object has been disposed.
  4921. </summary>
  4922. </member>
  4923. <member name="P:SharpFont.Glyph.Library">
  4924. <summary>
  4925. Gets a handle to the FreeType library object.
  4926. </summary>
  4927. </member>
  4928. <member name="P:SharpFont.Glyph.Format">
  4929. <summary>
  4930. Gets the format of the glyph's image.
  4931. </summary>
  4932. </member>
  4933. <member name="P:SharpFont.Glyph.Advance">
  4934. <summary>
  4935. Gets a 16.16 vector that gives the glyph's advance width.
  4936. </summary>
  4937. </member>
  4938. <member name="M:SharpFont.Glyph.Copy">
  4939. <summary>
  4940. A function used to copy a glyph image. Note that the created <see cref="T:SharpFont.Glyph"/> object must be released
  4941. with <see cref="M:SharpFont.Glyph.Dispose"/>.
  4942. </summary>
  4943. <returns>A handle to the target glyph object. 0 in case of error.</returns>
  4944. </member>
  4945. <member name="M:SharpFont.Glyph.Transform(SharpFont.FTMatrix,SharpFont.FTVector)">
  4946. <summary>
  4947. Transform a glyph image if its format is scalable.
  4948. </summary>
  4949. <param name="matrix">A pointer to a 2x2 matrix to apply.</param>
  4950. <param name="delta">
  4951. A pointer to a 2d vector to apply. Coordinates are expressed in 1/64th of a pixel.
  4952. </param>
  4953. </member>
  4954. <member name="M:SharpFont.Glyph.GetCBox(SharpFont.GlyphBBoxMode)">
  4955. <summary><para>
  4956. Return a glyph's ‘control box’. The control box encloses all the outline's points, including Bézier control
  4957. points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some
  4958. situations (like when rotating an outline which contains Bézier outside arcs).
  4959. </para><para>
  4960. Computing the control box is very fast, while getting the bounding box can take much more time as it needs
  4961. to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component
  4962. which is dedicated to this single task.
  4963. </para></summary>
  4964. <remarks><para>
  4965. Coordinates are relative to the glyph origin, using the y upwards convention.
  4966. </para><para>
  4967. If the glyph has been loaded with <see cref="F:SharpFont.LoadFlags.NoScale"/>, ‘bbox_mode’ must be set to
  4968. <see cref="F:SharpFont.GlyphBBoxMode.Unscaled"/> to get unscaled font units in 26.6 pixel format. The value
  4969. <see cref="F:SharpFont.GlyphBBoxMode.Subpixels"/> is another name for this constant.
  4970. </para><para>
  4971. If the font is tricky and the glyph has been loaded with <see cref="F:SharpFont.LoadFlags.NoScale"/>, the resulting
  4972. CBox is meaningless. To get reasonable values for the CBox it is necessary to load the glyph at a large
  4973. ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting
  4974. the CBox which can be eventually converted back to font units.
  4975. </para><para>
  4976. Note that the maximum coordinates are exclusive, which means that one can compute the width and height of
  4977. the glyph image (be it in integer or 26.6 pixels) as:
  4978. </para><para>
  4979. <code>
  4980. width = bbox.xMax - bbox.xMin;
  4981. height = bbox.yMax - bbox.yMin;
  4982. </code>
  4983. </para><para>
  4984. Note also that for 26.6 coordinates, if ‘bbox_mode’ is set to <see cref="F:SharpFont.GlyphBBoxMode.Gridfit"/>, the
  4985. coordinates will also be grid-fitted, which corresponds to:
  4986. </para><para>
  4987. <code>
  4988. bbox.xMin = FLOOR(bbox.xMin);
  4989. bbox.yMin = FLOOR(bbox.yMin);
  4990. bbox.xMax = CEILING(bbox.xMax);
  4991. bbox.yMax = CEILING(bbox.yMax);
  4992. </code>
  4993. </para><para>
  4994. To get the bbox in pixel coordinates, set ‘bbox_mode’ to <see cref="F:SharpFont.GlyphBBoxMode.Truncate"/>.
  4995. </para><para>
  4996. To get the bbox in grid-fitted pixel coordinates, set ‘bbox_mode’ to <see cref="F:SharpFont.GlyphBBoxMode.Pixels"/>.
  4997. </para></remarks>
  4998. <param name="mode">The mode which indicates how to interpret the returned bounding box values.</param>
  4999. <returns>
  5000. The glyph coordinate bounding box. Coordinates are expressed in 1/64th of pixels if it is grid-fitted.
  5001. </returns>
  5002. </member>
  5003. <member name="M:SharpFont.Glyph.ToBitmap(SharpFont.RenderMode,SharpFont.FTVector,System.Boolean)">
  5004. <summary>
  5005. Convert a given glyph object to a bitmap glyph object.
  5006. </summary>
  5007. <remarks><para>
  5008. This function does nothing if the glyph format isn't scalable.
  5009. </para><para>
  5010. The glyph image is translated with the ‘origin’ vector before rendering.
  5011. </para><para>
  5012. The first parameter is a pointer to an <see cref="T:SharpFont.Glyph"/> handle, that will be replaced by this function
  5013. (with newly allocated data). Typically, you would use (omitting error handling):
  5014. </para><para>
  5015. --sample code ommitted--
  5016. </para></remarks>
  5017. <param name="renderMode">An enumeration that describes how the data is rendered.</param>
  5018. <param name="origin">
  5019. A pointer to a vector used to translate the glyph image before rendering. Can be 0 (if no translation). The
  5020. origin is expressed in 26.6 pixels.
  5021. </param>
  5022. <param name="destroy">
  5023. A boolean that indicates that the original glyph image should be destroyed by this function. It is never
  5024. destroyed in case of error.
  5025. </param>
  5026. </member>
  5027. <member name="M:SharpFont.Glyph.Stroke(SharpFont.Stroker,System.Boolean)">
  5028. <summary>
  5029. Stroke a given outline glyph object with a given stroker.
  5030. </summary>
  5031. <remarks>
  5032. The source glyph is untouched in case of error.
  5033. </remarks>
  5034. <param name="stroker">A stroker handle.</param>
  5035. <param name="destroy">A Boolean. If 1, the source glyph object is destroyed on success.</param>
  5036. <returns>New glyph handle.</returns>
  5037. </member>
  5038. <member name="M:SharpFont.Glyph.StrokeBorder(SharpFont.Stroker,System.Boolean,System.Boolean)">
  5039. <summary>
  5040. Stroke a given outline glyph object with a given stroker, but only return either its inside or outside
  5041. border.
  5042. </summary>
  5043. <remarks>
  5044. The source glyph is untouched in case of error.
  5045. </remarks>
  5046. <param name="stroker">A stroker handle.</param>
  5047. <param name="inside">A Boolean. If 1, return the inside border, otherwise the outside border.</param>
  5048. <param name="destroy">A Boolean. If 1, the source glyph object is destroyed on success.</param>
  5049. <returns>New glyph handle.</returns>
  5050. </member>
  5051. <member name="M:SharpFont.Glyph.Dispose">
  5052. <summary>
  5053. Disposes the Glyph.
  5054. </summary>
  5055. </member>
  5056. <member name="T:SharpFont.GlyphBBoxMode">
  5057. <summary>
  5058. The mode how the values of <see cref="M:SharpFont.Glyph.GetCBox(SharpFont.GlyphBBoxMode)"/> are returned.
  5059. </summary>
  5060. </member>
  5061. <member name="F:SharpFont.GlyphBBoxMode.Unscaled">
  5062. <summary>Return unscaled font units.</summary>
  5063. </member>
  5064. <member name="F:SharpFont.GlyphBBoxMode.Subpixels">
  5065. <summary>Return unfitted 26.6 coordinates.</summary>
  5066. </member>
  5067. <member name="F:SharpFont.GlyphBBoxMode.Gridfit">
  5068. <summary>Return grid-fitted 26.6 coordinates.</summary>
  5069. </member>
  5070. <member name="F:SharpFont.GlyphBBoxMode.Truncate">
  5071. <summary>Return coordinates in integer pixels.</summary>
  5072. </member>
  5073. <member name="F:SharpFont.GlyphBBoxMode.Pixels">
  5074. <summary>Return grid-fitted pixel coordinates.</summary>
  5075. </member>
  5076. <member name="T:SharpFont.GlyphFormat">
  5077. <summary>
  5078. An enumeration type used to describe the format of a given glyph image. Note that this version of FreeType only
  5079. supports two image formats, even though future font drivers will be able to register their own format.
  5080. </summary>
  5081. </member>
  5082. <member name="F:SharpFont.GlyphFormat.None">
  5083. <summary>
  5084. The value 0 is reserved.
  5085. </summary>
  5086. </member>
  5087. <member name="F:SharpFont.GlyphFormat.Composite">
  5088. <summary>
  5089. The glyph image is a composite of several other images. This format is only used with
  5090. <see cref="F:SharpFont.LoadFlags.NoRecurse"/>, and is used to report compound glyphs (like accented characters).
  5091. </summary>
  5092. </member>
  5093. <member name="F:SharpFont.GlyphFormat.Bitmap">
  5094. <summary>
  5095. The glyph image is a bitmap, and can be described as an <see cref="T:SharpFont.FTBitmap"/>. You generally need to
  5096. access the ‘bitmap’ field of the <see cref="T:SharpFont.GlyphSlot"/> structure to read it.
  5097. </summary>
  5098. </member>
  5099. <member name="F:SharpFont.GlyphFormat.Outline">
  5100. <summary>
  5101. The glyph image is a vectorial outline made of line segments and Bézier arcs; it can be described as an
  5102. <see cref="F:SharpFont.GlyphFormat.Outline"/>; you generally want to access the ‘outline’ field of the <see cref="T:SharpFont.GlyphSlot"/>
  5103. structure to read it.
  5104. </summary>
  5105. </member>
  5106. <member name="F:SharpFont.GlyphFormat.Plotter">
  5107. <summary>
  5108. The glyph image is a vectorial path with no inside and outside contours. Some Type 1 fonts, like those in
  5109. the Hershey family, contain glyphs in this format. These are described as <see cref="F:SharpFont.GlyphFormat.Outline"/>, but
  5110. FreeType isn't currently capable of rendering them correctly.
  5111. </summary>
  5112. </member>
  5113. <member name="T:SharpFont.GlyphMetrics">
  5114. <summary>
  5115. A structure used to model the metrics of a single glyph. The values are expressed in 26.6 fractional pixel
  5116. format; if the flag <see cref="F:SharpFont.LoadFlags.NoScale"/> has been used while loading the glyph, values are expressed
  5117. in font units instead.
  5118. </summary>
  5119. <remarks>
  5120. If not disabled with <see cref="F:SharpFont.LoadFlags.NoHinting"/>, the values represent dimensions of the hinted glyph (in
  5121. case hinting is applicable).
  5122. </remarks>
  5123. </member>
  5124. <member name="P:SharpFont.GlyphMetrics.Width">
  5125. <summary>
  5126. Gets the glyph's width.
  5127. </summary>
  5128. </member>
  5129. <member name="P:SharpFont.GlyphMetrics.Height">
  5130. <summary>
  5131. Gets the glyph's height.
  5132. </summary>
  5133. </member>
  5134. <member name="P:SharpFont.GlyphMetrics.HorizontalBearingX">
  5135. <summary>
  5136. Gets the left side bearing for horizontal layout.
  5137. </summary>
  5138. </member>
  5139. <member name="P:SharpFont.GlyphMetrics.HorizontalBearingY">
  5140. <summary>
  5141. Gets the top side bearing for horizontal layout.
  5142. </summary>
  5143. </member>
  5144. <member name="P:SharpFont.GlyphMetrics.HorizontalAdvance">
  5145. <summary>
  5146. Gets the advance width for horizontal layout.
  5147. </summary>
  5148. </member>
  5149. <member name="P:SharpFont.GlyphMetrics.VerticalBearingX">
  5150. <summary>
  5151. Gets the left side bearing for vertical layout.
  5152. </summary>
  5153. </member>
  5154. <member name="P:SharpFont.GlyphMetrics.VerticalBearingY">
  5155. <summary>
  5156. Gets the top side bearing for vertical layout. Larger positive values mean further below the vertical glyph
  5157. origin.
  5158. </summary>
  5159. </member>
  5160. <member name="P:SharpFont.GlyphMetrics.VerticalAdvance">
  5161. <summary>
  5162. Gets the advance height for vertical layout. Positive values mean the glyph has a positive advance
  5163. downward.
  5164. </summary>
  5165. </member>
  5166. <member name="T:SharpFont.GlyphSlot">
  5167. <summary>
  5168. FreeType root glyph slot class structure. A glyph slot is a container where individual glyphs can be loaded, be
  5169. they in outline or bitmap format.
  5170. </summary>
  5171. <remarks><para>
  5172. If <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/> is called with default flags (see <see cref="F:SharpFont.LoadFlags.Default"/>)
  5173. the glyph image is loaded in the glyph slot in its native format (e.g., an outline glyph for TrueType and Type
  5174. 1 formats).
  5175. </para><para>
  5176. This image can later be converted into a bitmap by calling <see cref="M:SharpFont.GlyphSlot.RenderGlyph(SharpFont.RenderMode)"/>. This function finds the
  5177. current renderer for the native image's format, then invokes it.
  5178. </para><para>
  5179. The renderer is in charge of transforming the native image through the slot's face transformation fields, then
  5180. converting it into a bitmap that is returned in ‘slot->bitmap’.
  5181. </para><para>
  5182. Note that ‘slot->bitmap_left’ and ‘slot->bitmap_top’ are also used to specify the position of the bitmap
  5183. relative to the current pen position (e.g., coordinates (0,0) on the baseline). Of course, ‘slot->format’ is
  5184. also changed to <see cref="F:SharpFont.GlyphFormat.Bitmap"/>.
  5185. </para></remarks>
  5186. <example>
  5187. <code>
  5188. FT_Pos origin_x = 0;
  5189. FT_Pos prev_rsb_delta = 0;
  5190. for all glyphs do
  5191. &lt;compute kern between current and previous glyph and add it to
  5192. `origin_x'&gt;
  5193. &lt;load glyph with `FT_Load_Glyph'&gt;
  5194. if ( prev_rsb_delta - face-&gt;glyph-&gt;lsb_delta &gt;= 32 )
  5195. origin_x -= 64;
  5196. else if ( prev_rsb_delta - face->glyph-&gt;lsb_delta &lt; -32 )
  5197. origin_x += 64;
  5198. prev_rsb_delta = face-&gt;glyph->rsb_delta;
  5199. &lt;save glyph image, or render glyph, or ...&gt;
  5200. origin_x += face-&gt;glyph-&gt;advance.x;
  5201. endfor
  5202. </code>
  5203. </example>
  5204. </member>
  5205. <member name="P:SharpFont.GlyphSlot.Library">
  5206. <summary>
  5207. Gets a handle to the FreeType library instance this slot belongs to.
  5208. </summary>
  5209. </member>
  5210. <member name="P:SharpFont.GlyphSlot.Face">
  5211. <summary>
  5212. Gets a handle to the parent face object.
  5213. </summary>
  5214. </member>
  5215. <member name="P:SharpFont.GlyphSlot.Next">
  5216. <summary>
  5217. Gets the next <see cref="T:SharpFont.GlyphSlot"/>. In some cases (like some font tools), several glyph slots per face
  5218. object can be a good thing. As this is rare, the glyph slots are listed through a direct, single-linked
  5219. list using its ‘next’ field.
  5220. </summary>
  5221. </member>
  5222. <member name="P:SharpFont.GlyphSlot.Generic">
  5223. <summary>
  5224. Gets a typeless pointer which is unused by the FreeType library or any of its drivers. It can be used by
  5225. client applications to link their own data to each glyph slot object.
  5226. </summary>
  5227. </member>
  5228. <member name="P:SharpFont.GlyphSlot.Metrics">
  5229. <summary><para>
  5230. Gets the metrics of the last loaded glyph in the slot. The returned values depend on the last load flags
  5231. (see the <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/> API function) and can be expressed either in 26.6
  5232. fractional pixels or font units.
  5233. </para><para>
  5234. Note that even when the glyph image is transformed, the metrics are not.
  5235. </para></summary>
  5236. </member>
  5237. <member name="P:SharpFont.GlyphSlot.LinearHorizontalAdvance">
  5238. <summary>
  5239. Gets the advance width of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless
  5240. <see cref="F:SharpFont.LoadFlags.LinearDesign"/> is set when loading the glyph. This field can be important to perform
  5241. correct WYSIWYG layout. Only relevant for outline glyphs.
  5242. </summary>
  5243. </member>
  5244. <member name="P:SharpFont.GlyphSlot.LinearVerticalAdvance">
  5245. <summary>
  5246. Gets the advance height of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless
  5247. <see cref="F:SharpFont.LoadFlags.LinearDesign"/> is set when loading the glyph. This field can be important to perform
  5248. correct WYSIWYG layout. Only relevant for outline glyphs.
  5249. </summary>
  5250. </member>
  5251. <member name="P:SharpFont.GlyphSlot.Advance">
  5252. <summary>
  5253. Gets the advance. This shorthand is, depending on <see cref="F:SharpFont.LoadFlags.IgnoreTransform"/>, the transformed
  5254. advance width for the glyph (in 26.6 fractional pixel format). As specified with
  5255. <see cref="F:SharpFont.LoadFlags.VerticalLayout"/>, it uses either the ‘horiAdvance’ or the ‘vertAdvance’ value of
  5256. ‘metrics’ field.
  5257. </summary>
  5258. </member>
  5259. <member name="P:SharpFont.GlyphSlot.Format">
  5260. <summary>
  5261. Gets the glyph format. This field indicates the format of the image contained in the glyph slot. Typically
  5262. <see cref="F:SharpFont.GlyphFormat.Bitmap"/>, <see cref="F:SharpFont.GlyphFormat.Outline"/>, or
  5263. <see cref="F:SharpFont.GlyphFormat.Composite"/>, but others are possible.
  5264. </summary>
  5265. </member>
  5266. <member name="P:SharpFont.GlyphSlot.Bitmap">
  5267. <summary>
  5268. Gets the bitmap. This field is used as a bitmap descriptor when the slot format is
  5269. <see cref="F:SharpFont.GlyphFormat.Bitmap"/>. Note that the address and content of the bitmap buffer can change between
  5270. calls of <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/> and a few other functions.
  5271. </summary>
  5272. </member>
  5273. <member name="P:SharpFont.GlyphSlot.BitmapLeft">
  5274. <summary>
  5275. Gets the bitmap's left bearing expressed in integer pixels. Of course, this is only valid if the format is
  5276. <see cref="F:SharpFont.GlyphFormat.Bitmap"/>.
  5277. </summary>
  5278. </member>
  5279. <member name="P:SharpFont.GlyphSlot.BitmapTop">
  5280. <summary>
  5281. Gets the bitmap's top bearing expressed in integer pixels. Remember that this is the distance from the
  5282. baseline to the top-most glyph scanline, upwards y coordinates being positive.
  5283. </summary>
  5284. </member>
  5285. <member name="P:SharpFont.GlyphSlot.Outline">
  5286. <summary>
  5287. Gets the outline descriptor for the current glyph image if its format is <see cref="F:SharpFont.GlyphFormat.Outline"/>.
  5288. Once a glyph is loaded, ‘outline’ can be transformed, distorted, embolded, etc. However, it must not be
  5289. freed.
  5290. </summary>
  5291. </member>
  5292. <member name="P:SharpFont.GlyphSlot.SubglyphsCount">
  5293. <summary>
  5294. Gets the number of subglyphs in a composite glyph. This field is only valid for the composite glyph format
  5295. that should normally only be loaded with the <see cref="F:SharpFont.LoadFlags.NoRecurse"/> flag. For now this is
  5296. internal to FreeType.
  5297. </summary>
  5298. </member>
  5299. <member name="P:SharpFont.GlyphSlot.Subglyphs">
  5300. <summary>
  5301. Gets an array of subglyph descriptors for composite glyphs. There are ‘num_subglyphs’ elements in there.
  5302. Currently internal to FreeType.
  5303. </summary>
  5304. </member>
  5305. <member name="P:SharpFont.GlyphSlot.ControlData">
  5306. <summary>
  5307. Gets the control data. Certain font drivers can also return the control data for a given glyph image (e.g.
  5308. TrueType bytecode, Type 1 charstrings, etc.). This field is a pointer to such data.
  5309. </summary>
  5310. </member>
  5311. <member name="P:SharpFont.GlyphSlot.ControlLength">
  5312. <summary>
  5313. Gets the length in bytes of the control data.
  5314. </summary>
  5315. </member>
  5316. <member name="P:SharpFont.GlyphSlot.DeltaLsb">
  5317. <summary>
  5318. Gets the difference between hinted and unhinted left side bearing while autohinting is active. Zero
  5319. otherwise.
  5320. </summary>
  5321. </member>
  5322. <member name="P:SharpFont.GlyphSlot.DeltaRsb">
  5323. <summary>
  5324. Gets the difference between hinted and unhinted right side bearing while autohinting is active. Zero
  5325. otherwise.
  5326. </summary>
  5327. </member>
  5328. <member name="P:SharpFont.GlyphSlot.Other">
  5329. <summary>
  5330. Gets other data. Really wicked formats can use this pointer to present their own glyph image to client
  5331. applications. Note that the application needs to know about the image format.
  5332. </summary>
  5333. </member>
  5334. <member name="M:SharpFont.GlyphSlot.RenderGlyph(SharpFont.RenderMode)">
  5335. <summary>
  5336. Convert a given glyph image to a bitmap. It does so by inspecting the glyph image format, finding the
  5337. relevant renderer, and invoking it.
  5338. </summary>
  5339. <param name="mode">This is the render mode used to render the glyph image into a bitmap.</param>
  5340. </member>
  5341. <member name="M:SharpFont.GlyphSlot.GetSubGlyphInfo(System.UInt32,System.Int32@,SharpFont.SubGlyphFlags@,System.Int32@,System.Int32@,SharpFont.FTMatrix@)">
  5342. <summary>
  5343. Retrieve a description of a given subglyph. Only use it if <see cref="P:SharpFont.GlyphSlot.Format"/> is
  5344. <see cref="F:SharpFont.GlyphFormat.Composite"/>; an error is returned otherwise.
  5345. </summary>
  5346. <remarks>
  5347. The values of ‘*p_arg1’, ‘*p_arg2’, and ‘*p_transform’ must be interpreted depending on the flags returned
  5348. in ‘*p_flags’. See the TrueType specification for details.
  5349. </remarks>
  5350. <param name="subIndex">
  5351. The index of the subglyph. Must be less than <see cref="P:SharpFont.GlyphSlot.SubglyphsCount"/>.
  5352. </param>
  5353. <param name="index">The glyph index of the subglyph.</param>
  5354. <param name="flags">The subglyph flags, see <see cref="T:SharpFont.SubGlyphFlags"/>.</param>
  5355. <param name="arg1">The subglyph's first argument (if any).</param>
  5356. <param name="arg2">The subglyph's second argument (if any).</param>
  5357. <param name="transform">The subglyph transformation (if any).</param>
  5358. </member>
  5359. <member name="M:SharpFont.GlyphSlot.GetGlyph">
  5360. <summary>
  5361. A function used to extract a glyph image from a slot. Note that the created <see cref="T:SharpFont.Glyph"/> object must
  5362. be released with <see cref="M:SharpFont.Glyph.Dispose"/>.
  5363. </summary>
  5364. <returns>A handle to the glyph object.</returns>
  5365. </member>
  5366. <member name="M:SharpFont.GlyphSlot.OwnBitmap">
  5367. <summary>
  5368. Make sure that a glyph slot owns ‘slot->bitmap’.
  5369. </summary>
  5370. <remarks>
  5371. This function is to be used in combination with <see cref="M:SharpFont.FTBitmap.Embolden(SharpFont.Library,System.Int32,System.Int32)"/>.
  5372. </remarks>
  5373. </member>
  5374. <member name="T:SharpFont.KerningMode">
  5375. <summary>
  5376. An enumeration used to specify which kerning values to return in <see cref="M:SharpFont.Face.GetKerning(System.UInt32,System.UInt32,SharpFont.KerningMode)"/>.
  5377. </summary>
  5378. </member>
  5379. <member name="F:SharpFont.KerningMode.Default">
  5380. <summary>
  5381. Return scaled and grid-fitted kerning distances.
  5382. </summary>
  5383. </member>
  5384. <member name="F:SharpFont.KerningMode.Unfitted">
  5385. <summary>
  5386. Return scaled but un-grid-fitted kerning distances.
  5387. </summary>
  5388. </member>
  5389. <member name="F:SharpFont.KerningMode.Unscaled">
  5390. <summary>
  5391. Return the kerning vector in original font units.
  5392. </summary>
  5393. </member>
  5394. <member name="T:SharpFont.Library">
  5395. <summary><para>
  5396. A handle to a FreeType library instance. Each ‘library’ is completely independent from the others; it is the
  5397. ‘root’ of a set of objects like fonts, faces, sizes, etc.
  5398. </para><para>
  5399. It also embeds a memory manager (see <see cref="T:SharpFont.Memory"/>), as well as a scan-line converter object (see
  5400. <see cref="T:SharpFont.Raster"/>).
  5401. </para><para>
  5402. For multi-threading applications each thread should have its own <see cref="T:SharpFont.Library"/> object.
  5403. </para></summary>
  5404. </member>
  5405. <member name="M:SharpFont.Library.#ctor">
  5406. <summary>
  5407. Initializes a new instance of the <see cref="T:SharpFont.Library"/> class.
  5408. </summary>
  5409. </member>
  5410. <member name="M:SharpFont.Library.#ctor(SharpFont.Memory)">
  5411. <summary>
  5412. Initializes a new instance of the <see cref="T:SharpFont.Library"/> class.
  5413. </summary>
  5414. <param name="memory">A custom FreeType memory manager.</param>
  5415. </member>
  5416. <member name="M:SharpFont.Library.Finalize">
  5417. <summary>
  5418. Finalizes an instance of the <see cref="T:SharpFont.Library"/> class.
  5419. </summary>
  5420. </member>
  5421. <member name="P:SharpFont.Library.IsDisposed">
  5422. <summary>
  5423. Gets a value indicating whether the object has been disposed.
  5424. </summary>
  5425. </member>
  5426. <member name="P:SharpFont.Library.Version">
  5427. <summary>
  5428. Gets the version of the FreeType library being used.
  5429. </summary>
  5430. </member>
  5431. <member name="M:SharpFont.Library.NewFace(System.String,System.Int32)">
  5432. <summary>
  5433. This function calls <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/> to open a font by its pathname.
  5434. </summary>
  5435. <param name="path">A path to the font file.</param>
  5436. <param name="faceIndex">The index of the face within the font. The first face has index 0.</param>
  5437. <returns>
  5438. A handle to a new face object. If ‘faceIndex’ is greater than or equal to zero, it must be non-NULL.
  5439. </returns>
  5440. <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/>
  5441. </member>
  5442. <member name="M:SharpFont.Library.NewMemoryFace(System.Byte[],System.Int32)">
  5443. <summary>
  5444. This function calls <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/> to open a font which has been loaded into memory.
  5445. </summary>
  5446. <remarks>
  5447. You must not deallocate the memory before calling <see cref="M:SharpFont.Face.Dispose"/>.
  5448. </remarks>
  5449. <param name="file">A pointer to the beginning of the font data.</param>
  5450. <param name="faceIndex">The index of the face within the font. The first face has index 0.</param>
  5451. <returns>
  5452. A handle to a new face object. If ‘faceIndex’ is greater than or equal to zero, it must be non-NULL.
  5453. </returns>
  5454. <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/>
  5455. </member>
  5456. <member name="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)">
  5457. <summary>
  5458. Create a <see cref="T:SharpFont.Face"/> object from a given resource described by <see cref="T:SharpFont.OpenArgs"/>.
  5459. </summary>
  5460. <remarks><para>
  5461. Unlike FreeType 1.x, this function automatically creates a glyph slot for the face object which can be
  5462. accessed directly through <see cref="P:SharpFont.Face.Glyph"/>.
  5463. </para><para>
  5464. OpenFace can be used to quickly check whether the font format of a given font resource is supported by
  5465. FreeType. If the ‘faceIndex’ field is negative, the function's return value is 0 if the font format is
  5466. recognized, or non-zero otherwise; the function returns a more or less empty face handle in ‘*aface’ (if
  5467. ‘aface’ isn't NULL). The only useful field in this special case is <see cref="P:SharpFont.Face.FaceCount"/> which gives
  5468. the number of faces within the font file. After examination, the returned <see cref="T:SharpFont.Face"/> structure
  5469. should be deallocated with a call to <see cref="M:SharpFont.Face.Dispose"/>.
  5470. </para><para>
  5471. Each new face object created with this function also owns a default <see cref="T:SharpFont.FTSize"/> object, accessible
  5472. as <see cref="P:SharpFont.Face.Size"/>.
  5473. </para><para>
  5474. See the discussion of reference counters in the description of FT_Reference_Face.
  5475. </para></remarks>
  5476. <param name="args">
  5477. A pointer to an <see cref="T:SharpFont.OpenArgs"/> structure which must be filled by the caller.
  5478. </param>
  5479. <param name="faceIndex">The index of the face within the font. The first face has index 0.</param>
  5480. <returns>
  5481. A handle to a new face object. If ‘faceIndex’ is greater than or equal to zero, it must be non-NULL.
  5482. </returns>
  5483. </member>
  5484. <member name="M:SharpFont.Library.NewFaceFromFond(System.IntPtr,System.Int32)">
  5485. <summary>
  5486. Create a new face object from a FOND resource.
  5487. </summary>
  5488. <remarks>
  5489. This function can be used to create <see cref="T:SharpFont.Face"/> objects from fonts that are installed in the system
  5490. as follows.
  5491. <code>
  5492. fond = GetResource( 'FOND', fontName );
  5493. error = FT_New_Face_From_FOND( library, fond, 0, &amp;face );
  5494. </code>
  5495. </remarks>
  5496. <param name="fond">A FOND resource.</param>
  5497. <param name="faceIndex">Only supported for the -1 ‘sanity check’ special case.</param>
  5498. <returns>A handle to a new face object.</returns>
  5499. </member>
  5500. <member name="M:SharpFont.Library.NewFaceFromFSSpec(System.IntPtr,System.Int32)">
  5501. <summary>
  5502. Create a new face object from a given resource and typeface index using an FSSpec to the font file.
  5503. </summary>
  5504. <remarks>
  5505. <see cref="M:SharpFont.Library.NewFaceFromFSSpec(System.IntPtr,System.Int32)"/> is identical to <see cref="M:SharpFont.Library.NewFace(System.String,System.Int32)"/> except it accepts an FSSpec instead
  5506. of a path.
  5507. </remarks>
  5508. <param name="spec">FSSpec to the font file.</param>
  5509. <param name="faceIndex">The index of the face within the resource. The first face has index 0.</param>
  5510. <returns>A handle to a new face object.</returns>
  5511. </member>
  5512. <member name="M:SharpFont.Library.NewFaceFromFSRef(System.IntPtr,System.Int32)">
  5513. <summary>
  5514. Create a new face object from a given resource and typeface index using an FSRef to the font file.
  5515. </summary>
  5516. <remarks>
  5517. <see cref="M:SharpFont.Library.NewFaceFromFSRef(System.IntPtr,System.Int32)"/> is identical to <see cref="M:SharpFont.Library.NewFace(System.String,System.Int32)"/> except it accepts an FSRef instead of
  5518. a path.
  5519. </remarks>
  5520. <param name="ref">FSRef to the font file.</param>
  5521. <param name="faceIndex">The index of the face within the resource. The first face has index 0.</param>
  5522. <returns>A handle to a new face object.</returns>
  5523. </member>
  5524. <member name="M:SharpFont.Library.AddModule(SharpFont.ModuleClass)">
  5525. <summary>
  5526. Add a new module to a given library instance.
  5527. </summary>
  5528. <remarks>
  5529. An error will be returned if a module already exists by that name, or if the module requires a version of
  5530. FreeType that is too great.
  5531. </remarks>
  5532. <param name="clazz">A pointer to class descriptor for the module.</param>
  5533. </member>
  5534. <member name="M:SharpFont.Library.GetModule(System.String)">
  5535. <summary>
  5536. Find a module by its name.
  5537. </summary>
  5538. <remarks>
  5539. FreeType's internal modules aren't documented very well, and you should look up the source code for
  5540. details.
  5541. </remarks>
  5542. <param name="moduleName">The module's name (as an ASCII string).</param>
  5543. <returns>A module handle. 0 if none was found.</returns>
  5544. </member>
  5545. <member name="M:SharpFont.Library.RemoveModule(SharpFont.Module)">
  5546. <summary>
  5547. Remove a given module from a library instance.
  5548. </summary>
  5549. <remarks>
  5550. The module object is destroyed by the function in case of success.
  5551. </remarks>
  5552. <param name="module">A handle to a module object.</param>
  5553. </member>
  5554. <member name="M:SharpFont.Library.SetDebugHook(System.UInt32,System.IntPtr)">
  5555. <summary>
  5556. Set a debug hook function for debugging the interpreter of a font format.
  5557. </summary>
  5558. <remarks><para>
  5559. Currently, four debug hook slots are available, but only two (for the TrueType and the Type 1 interpreter)
  5560. are defined.
  5561. </para><para>
  5562. Since the internal headers of FreeType are no longer installed, the symbol ‘FT_DEBUG_HOOK_TRUETYPE’ isn't
  5563. available publicly. This is a bug and will be fixed in a forthcoming release.
  5564. </para></remarks>
  5565. <param name="hookIndex">The index of the debug hook. You should use the values defined in ‘ftobjs.h’, e.g., ‘FT_DEBUG_HOOK_TRUETYPE’.</param>
  5566. <param name="debugHook">The function used to debug the interpreter.</param>
  5567. </member>
  5568. <member name="M:SharpFont.Library.AddDefaultModules">
  5569. <summary>
  5570. Add the set of default drivers to a given library object. This is only useful when you create a library
  5571. object with <see cref="M:SharpFont.Library.#ctor(SharpFont.Memory)"/> (usually to plug a custom memory manager).
  5572. </summary>
  5573. </member>
  5574. <member name="M:SharpFont.Library.GetRenderer(SharpFont.GlyphFormat)">
  5575. <summary>
  5576. Retrieve the current renderer for a given glyph format.
  5577. </summary>
  5578. <remarks><para>
  5579. An error will be returned if a module already exists by that name, or if the module requires a version of
  5580. FreeType that is too great.
  5581. </para><para>
  5582. To add a new renderer, simply use <see cref="M:SharpFont.Library.AddModule(SharpFont.ModuleClass)"/>. To retrieve a renderer by its name, use
  5583. <see cref="M:SharpFont.Library.GetModule(System.String)"/>.
  5584. </para></remarks>
  5585. <param name="format">The glyph format.</param>
  5586. <returns>A renderer handle. 0 if none found.</returns>
  5587. </member>
  5588. <member name="M:SharpFont.Library.SetRenderer(SharpFont.Renderer,System.UInt32,SharpFont.Parameter[])">
  5589. <summary>
  5590. Set the current renderer to use, and set additional mode.
  5591. </summary>
  5592. <remarks><para>
  5593. In case of success, the renderer will be used to convert glyph images in the renderer's known format into
  5594. bitmaps.
  5595. </para><para>
  5596. This doesn't change the current renderer for other formats.
  5597. </para><para>
  5598. Currently, only the B/W renderer, if compiled with FT_RASTER_OPTION_ANTI_ALIASING (providing a 5-levels
  5599. anti-aliasing mode; this option must be set directly in ‘ftraster.c’ and is undefined by default) accepts a
  5600. single tag ‘pal5’ to set its gray palette as a character string with 5 elements. Consequently, the third
  5601. and fourth argument are zero normally.
  5602. </para></remarks>
  5603. <param name="renderer">A handle to the renderer object.</param>
  5604. <param name="numParams">The number of additional parameters.</param>
  5605. <param name="parameters">Additional parameters.</param>
  5606. </member>
  5607. <member name="M:SharpFont.Library.SetLcdFilter(SharpFont.LcdFilter)">
  5608. <summary>
  5609. This function is used to apply color filtering to LCD decimated bitmaps, like the ones used when calling
  5610. <see cref="M:SharpFont.GlyphSlot.RenderGlyph(SharpFont.RenderMode)"/> with <see cref="F:SharpFont.RenderMode.Lcd"/> or
  5611. <see cref="F:SharpFont.RenderMode.VerticalLcd"/>.
  5612. </summary>
  5613. <remarks><para>
  5614. This feature is always disabled by default. Clients must make an explicit call to this function with a
  5615. ‘filter’ value other than <see cref="F:SharpFont.LcdFilter.None"/> in order to enable it.
  5616. </para><para>
  5617. Due to <b>PATENTS</b> covering subpixel rendering, this function doesn't do anything except returning
  5618. <see cref="F:SharpFont.Error.UnimplementedFeature"/> if the configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is
  5619. not defined in your build of the library, which should correspond to all default builds of FreeType.
  5620. </para><para>
  5621. The filter affects glyph bitmaps rendered through <see cref="M:SharpFont.GlyphSlot.RenderGlyph(SharpFont.RenderMode)"/>,
  5622. <see cref="M:SharpFont.Outline.GetBitmap(SharpFont.FTBitmap)"/>, <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>, and <see cref="M:SharpFont.Face.LoadChar(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>.
  5623. </para><para>
  5624. It does not affect the output of <see cref="M:SharpFont.Outline.Render(SharpFont.RasterParams)"/> and
  5625. <see cref="M:SharpFont.Outline.GetBitmap(SharpFont.FTBitmap)"/>.
  5626. </para><para>
  5627. If this feature is activated, the dimensions of LCD glyph bitmaps are either larger or taller than the
  5628. dimensions of the corresponding outline with regards to the pixel grid. For example, for
  5629. <see cref="F:SharpFont.RenderMode.Lcd"/>, the filter adds up to 3 pixels to the left, and up to 3 pixels to the right.
  5630. </para><para>
  5631. The bitmap offset values are adjusted correctly, so clients shouldn't need to modify their layout and glyph
  5632. positioning code when enabling the filter.
  5633. </para></remarks>
  5634. <param name="filter"><para>
  5635. The filter type.
  5636. </para><para>
  5637. You can use <see cref="F:SharpFont.LcdFilter.None"/> here to disable this feature, or <see cref="F:SharpFont.LcdFilter.Default"/>
  5638. to use a default filter that should work well on most LCD screens.
  5639. </para></param>
  5640. </member>
  5641. <member name="M:SharpFont.Library.SetLcdFilterWeights(System.Byte[])">
  5642. <summary>
  5643. Use this function to override the filter weights selected by <see cref="M:SharpFont.Library.SetLcdFilter(SharpFont.LcdFilter)"/>. By default,
  5644. FreeType uses the quintuple (0x00, 0x55, 0x56, 0x55, 0x00) for <see cref="F:SharpFont.LcdFilter.Light"/>, and (0x10,
  5645. 0x40, 0x70, 0x40, 0x10) for <see cref="F:SharpFont.LcdFilter.Default"/> and <see cref="F:SharpFont.LcdFilter.Legacy"/>.
  5646. </summary>
  5647. <remarks><para>
  5648. Due to <b>PATENTS</b> covering subpixel rendering, this function doesn't do anything except returning
  5649. <see cref="F:SharpFont.Error.UnimplementedFeature"/> if the configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is
  5650. not defined in your build of the library, which should correspond to all default builds of FreeType.
  5651. </para><para>
  5652. This function must be called after <see cref="M:SharpFont.Library.SetLcdFilter(SharpFont.LcdFilter)"/> to have any effect.
  5653. </para></remarks>
  5654. <param name="weights">
  5655. A pointer to an array; the function copies the first five bytes and uses them to specify the filter
  5656. weights.
  5657. </param>
  5658. </member>
  5659. <member name="M:SharpFont.Library.GetTrueTypeEngineType">
  5660. <summary>
  5661. Return an <see cref="T:SharpFont.TrueType.EngineType"/> value to indicate which level of the TrueType virtual machine a given
  5662. library instance supports.
  5663. </summary>
  5664. <returns>A value indicating which level is supported.</returns>
  5665. </member>
  5666. <member name="M:SharpFont.Library.Dispose">
  5667. <summary>
  5668. Disposes the Library.
  5669. </summary>
  5670. </member>
  5671. <member name="T:SharpFont.LoadFlags">
  5672. <summary>
  5673. A list of bit-field constants used with <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/> to indicate what kind of operations to
  5674. perform during glyph loading.
  5675. </summary>
  5676. <remarks><para>
  5677. By default, hinting is enabled and the font's native hinter (see <see cref="F:SharpFont.FaceFlags.Hinter"/>) is preferred
  5678. over the auto-hinter. You can disable hinting by setting <see cref="F:SharpFont.LoadFlags.NoHinting"/> or change the
  5679. precedence by setting <see cref="F:SharpFont.LoadFlags.ForceAutohint"/>. You can also set
  5680. <see cref="F:SharpFont.LoadFlags.NoAutohint"/> in case you don't want the auto-hinter to be used at all.
  5681. </para><para>
  5682. See the description of <see cref="F:SharpFont.FaceFlags.Tricky"/> for a special exception (affecting only a handful of
  5683. Asian fonts).
  5684. </para><para>
  5685. Besides deciding which hinter to use, you can also decide which hinting algorithm to use. See
  5686. <see cref="T:SharpFont.LoadTarget"/> for details.
  5687. </para></remarks>
  5688. </member>
  5689. <member name="F:SharpFont.LoadFlags.Default">
  5690. <summary>
  5691. Corresponding to 0, this value is used as the default glyph load operation. In this case, the following
  5692. happens:
  5693. <list type="number">
  5694. <item><description>
  5695. FreeType looks for a bitmap for the glyph corresponding to the face's current size. If one is found, the
  5696. function returns. The bitmap data can be accessed from the glyph slot (see note below).
  5697. </description></item>
  5698. <item><description>
  5699. If no embedded bitmap is searched or found, FreeType looks for a scalable outline. If one is found, it is
  5700. loaded from the font file, scaled to device pixels, then ‘hinted’ to the pixel grid in order to optimize
  5701. it. The outline data can be accessed from the glyph slot (see note below).
  5702. </description></item>
  5703. </list>
  5704. Note that by default, the glyph loader doesn't render outlines into bitmaps. The following flags are used
  5705. to modify this default behaviour to more specific and useful cases.
  5706. </summary>
  5707. </member>
  5708. <member name="F:SharpFont.LoadFlags.NoScale">
  5709. <summary><para>
  5710. Don't scale the outline glyph loaded, but keep it in font units.
  5711. </para><para>
  5712. This flag implies <see cref="F:SharpFont.LoadFlags.NoHinting"/> and <see cref="F:SharpFont.LoadFlags.NoBitmap"/>, and unsets
  5713. <see cref="F:SharpFont.LoadFlags.Render"/>.
  5714. </para></summary>
  5715. </member>
  5716. <member name="F:SharpFont.LoadFlags.NoHinting">
  5717. <summary><para>
  5718. Disable hinting. This generally generates ‘blurrier’ bitmap glyph when the glyph is rendered in any of the
  5719. anti-aliased modes. See also the note below.
  5720. </para><para>
  5721. This flag is implied by <see cref="F:SharpFont.LoadFlags.NoScale"/>.
  5722. </para></summary>
  5723. </member>
  5724. <member name="F:SharpFont.LoadFlags.Render">
  5725. <summary><para>
  5726. Call <see cref="M:SharpFont.GlyphSlot.RenderGlyph(SharpFont.RenderMode)"/> after the glyph is loaded. By default, the glyph is rendered in
  5727. <see cref="F:SharpFont.RenderMode.Normal"/> mode. This can be overridden by <see cref="T:SharpFont.LoadTarget"/> or
  5728. <see cref="F:SharpFont.LoadFlags.Monochrome"/>.
  5729. </para><para>
  5730. This flag is unset by <see cref="F:SharpFont.LoadFlags.NoScale"/>.
  5731. </para></summary>
  5732. </member>
  5733. <member name="F:SharpFont.LoadFlags.NoBitmap">
  5734. <summary><para>
  5735. Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag.
  5736. </para><para>
  5737. <see cref="F:SharpFont.LoadFlags.NoScale"/> always sets this flag.
  5738. </para></summary>
  5739. </member>
  5740. <member name="F:SharpFont.LoadFlags.VerticalLayout">
  5741. <summary>
  5742. Load the glyph for vertical text layout. Don't use it as it is problematic currently.
  5743. </summary>
  5744. </member>
  5745. <member name="F:SharpFont.LoadFlags.ForceAutohint">
  5746. <summary>
  5747. Indicates that the auto-hinter is preferred over the font's native hinter. See also the note below.
  5748. </summary>
  5749. </member>
  5750. <member name="F:SharpFont.LoadFlags.CropBitmap">
  5751. <summary>
  5752. Indicates that the font driver should crop the loaded bitmap glyph (i.e., remove all space around its black
  5753. bits). Not all drivers implement this.
  5754. </summary>
  5755. </member>
  5756. <member name="F:SharpFont.LoadFlags.Pedantic">
  5757. <summary>
  5758. Indicates that the font driver should perform pedantic verifications during glyph loading. This is mostly
  5759. used to detect broken glyphs in fonts. By default, FreeType tries to handle broken fonts also.
  5760. </summary>
  5761. </member>
  5762. <member name="F:SharpFont.LoadFlags.IgnoreGlobalAdvanceWidth">
  5763. <summary>
  5764. Ignored. Deprecated.
  5765. </summary>
  5766. </member>
  5767. <member name="F:SharpFont.LoadFlags.NoRecurse">
  5768. <summary><para>
  5769. This flag is only used internally. It merely indicates that the font driver should not load composite
  5770. glyphs recursively. Instead, it should set the ‘num_subglyph’ and ‘subglyphs’ values of the glyph slot
  5771. accordingly, and set ‘glyph->format’ to <see cref="F:SharpFont.GlyphFormat.Composite"/>.
  5772. </para><para>
  5773. The description of sub-glyphs is not available to client applications for now.
  5774. </para><para>
  5775. This flag implies <see cref="F:SharpFont.LoadFlags.NoScale"/> and <see cref="F:SharpFont.LoadFlags.IgnoreTransform"/>.
  5776. </para></summary>
  5777. </member>
  5778. <member name="F:SharpFont.LoadFlags.IgnoreTransform">
  5779. <summary>
  5780. Indicates that the transform matrix set by <see cref="M:SharpFont.Face.SetTransform(SharpFont.FTMatrix,SharpFont.FTVector)"/> should be ignored.
  5781. </summary>
  5782. </member>
  5783. <member name="F:SharpFont.LoadFlags.Monochrome">
  5784. <summary><para>
  5785. This flag is used with <see cref="F:SharpFont.LoadFlags.Render"/> to indicate that you want to render an outline glyph
  5786. to a 1-bit monochrome bitmap glyph, with 8 pixels packed into each byte of the bitmap data.
  5787. </para><para>
  5788. Note that this has no effect on the hinting algorithm used. You should rather use
  5789. <see cref="F:SharpFont.LoadTarget.Mono"/> so that the monochrome-optimized hinting algorithm is used.
  5790. </para></summary>
  5791. </member>
  5792. <member name="F:SharpFont.LoadFlags.LinearDesign">
  5793. <summary>
  5794. Indicates that the ‘linearHoriAdvance’ and ‘linearVertAdvance’ fields of <see cref="T:SharpFont.GlyphSlot"/> should be
  5795. kept in font units. See <see cref="T:SharpFont.GlyphSlot"/> for details.
  5796. </summary>
  5797. </member>
  5798. <member name="F:SharpFont.LoadFlags.NoAutohint">
  5799. <summary>
  5800. Disable auto-hinter. See also the note below.
  5801. </summary>
  5802. </member>
  5803. <member name="F:SharpFont.LoadFlags.AdvanceFlagFastOnly">
  5804. <summary><para>
  5805. A bit-flag to be OR-ed with the ‘flags’ parameter of the <see cref="M:SharpFont.Face.GetAdvance(System.UInt32,SharpFont.LoadFlags)"/> and
  5806. <see cref="M:SharpFont.Face.GetAdvances(System.UInt32,System.UInt32,SharpFont.LoadFlags)"/> functions.
  5807. </para><para>
  5808. If set, it indicates that you want these functions to fail if the corresponding hinting mode or font driver
  5809. doesn't allow for very quick advance computation.
  5810. </para><para>
  5811. Typically, glyphs which are either unscaled, unhinted, bitmapped, or light-hinted can have their advance
  5812. width computed very quickly.
  5813. </para><para>
  5814. Normal and bytecode hinted modes, which require loading, scaling, and hinting of the glyph outline, are
  5815. extremely slow by comparison.
  5816. </para></summary>
  5817. </member>
  5818. <member name="T:SharpFont.LoadTarget">
  5819. <summary><para>
  5820. A list of values that are used to select a specific hinting algorithm to use by the hinter. You should OR one
  5821. of these values to your ‘load_flags’ when calling <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/>.
  5822. </para><para>
  5823. Note that font's native hinters may ignore the hinting algorithm you have specified (e.g., the TrueType
  5824. bytecode interpreter). You can set <see cref="F:SharpFont.LoadFlags.ForceAutohint"/> to ensure that the auto-hinter is
  5825. used.
  5826. </para><para>
  5827. Also note that <see cref="F:SharpFont.LoadTarget.Light"/> is an exception, in that it always implies
  5828. <see cref="F:SharpFont.LoadFlags.ForceAutohint"/>.
  5829. </para></summary>
  5830. <remarks><para>
  5831. You should use only one of the <see cref="T:SharpFont.LoadTarget"/> values in your ‘load_flags’. They can't be ORed.
  5832. </para><para>
  5833. If <see cref="F:SharpFont.LoadFlags.Render"/> is also set, the glyph is rendered in the corresponding mode (i.e., the mode
  5834. which matches the used algorithm best) unless <see cref="F:SharpFont.LoadFlags.Monochrome"/> is set.
  5835. </para><para>
  5836. You can use a hinting algorithm that doesn't correspond to the same rendering mode. As an example, it is
  5837. possible to use the ‘light’ hinting algorithm and have the results rendered in horizontal LCD pixel mode, with
  5838. code like:
  5839. <code>
  5840. FT_Load_Glyph( face, glyph_index,
  5841. load_flags | FT_LOAD_TARGET_LIGHT );
  5842. FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD );
  5843. </code>
  5844. </para></remarks>
  5845. </member>
  5846. <member name="F:SharpFont.LoadTarget.Normal">
  5847. <summary>
  5848. This corresponds to the default hinting algorithm, optimized for standard gray-level rendering. For
  5849. monochrome output, use <see cref="F:SharpFont.LoadTarget.Mono"/> instead.
  5850. </summary>
  5851. </member>
  5852. <member name="F:SharpFont.LoadTarget.Light">
  5853. <summary><para>
  5854. A lighter hinting algorithm for non-monochrome modes. Many generated glyphs are more fuzzy but better
  5855. resemble its original shape. A bit like rendering on Mac OS X.
  5856. </para><para>
  5857. As a special exception, this target implies <see cref="F:SharpFont.LoadFlags.ForceAutohint"/>.
  5858. </para></summary>
  5859. </member>
  5860. <member name="F:SharpFont.LoadTarget.Mono">
  5861. <summary>
  5862. Strong hinting algorithm that should only be used for monochrome output. The result is probably unpleasant
  5863. if the glyph is rendered in non-monochrome modes.
  5864. </summary>
  5865. </member>
  5866. <member name="F:SharpFont.LoadTarget.Lcd">
  5867. <summary>
  5868. A variant of <see cref="F:SharpFont.LoadTarget.Normal"/> optimized for horizontally decimated LCD displays.
  5869. </summary>
  5870. </member>
  5871. <member name="F:SharpFont.LoadTarget.VerticalLcd">
  5872. <summary>
  5873. A variant of <see cref="F:SharpFont.LoadTarget.Normal"/> optimized for vertically decimated LCD displays.
  5874. </summary>
  5875. </member>
  5876. <member name="T:SharpFont.FTMatrix">
  5877. <summary>
  5878. A simple structure used to store a 2x2 matrix. Coefficients are in 16.16 fixed float format. The computation
  5879. performed is:
  5880. <code>
  5881. x' = x*xx + y*xy
  5882. y' = x*yx + y*yy
  5883. </code>
  5884. </summary>
  5885. </member>
  5886. <member name="M:SharpFont.FTMatrix.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
  5887. <summary>
  5888. Initializes a new instance of the <see cref="T:SharpFont.FTMatrix"/> struct.
  5889. </summary>
  5890. <param name="xx">Matrix coefficient XX.</param>
  5891. <param name="xy">Matrix coefficient XY.</param>
  5892. <param name="yx">Matrix coefficient YX.</param>
  5893. <param name="yy">Matrix coefficient YY.</param>
  5894. </member>
  5895. <member name="M:SharpFont.FTMatrix.#ctor(SharpFont.FTVector,SharpFont.FTVector)">
  5896. <summary>
  5897. Initializes a new instance of the <see cref="T:SharpFont.FTMatrix"/> struct.
  5898. </summary>
  5899. <param name="row0">Matrix coefficients XX, XY.</param>
  5900. <param name="row1">Matrix coefficients YX, YY.</param>
  5901. </member>
  5902. <member name="M:SharpFont.FTMatrix.#ctor(System.IntPtr)">
  5903. <summary>
  5904. Initializes a new instance of the <see cref="T:SharpFont.FTMatrix"/> struct.
  5905. </summary>
  5906. <param name="reference">A pointer to a matrix.</param>
  5907. </member>
  5908. <member name="P:SharpFont.FTMatrix.XX">
  5909. <summary>
  5910. Gets or sets the matrix coefficient.
  5911. </summary>
  5912. </member>
  5913. <member name="P:SharpFont.FTMatrix.XY">
  5914. <summary>
  5915. Gets or sets the matrix coefficient.
  5916. </summary>
  5917. </member>
  5918. <member name="P:SharpFont.FTMatrix.YX">
  5919. <summary>
  5920. Gets or sets the matrix coefficient.
  5921. </summary>
  5922. </member>
  5923. <member name="P:SharpFont.FTMatrix.YY">
  5924. <summary>
  5925. Gets or sets the matrix coefficient.
  5926. </summary>
  5927. </member>
  5928. <member name="M:SharpFont.FTMatrix.Multiply(SharpFont.FTMatrix,SharpFont.FTMatrix)">
  5929. <summary>
  5930. Perform the matrix operation ‘b = a*b’.
  5931. </summary>
  5932. <remarks>
  5933. The result is undefined if either ‘a’ or ‘b’ is zero.
  5934. </remarks>
  5935. <param name="a">A pointer to matrix ‘a’.</param>
  5936. <param name="b">A pointer to matrix ‘b’.</param>
  5937. </member>
  5938. <member name="M:SharpFont.FTMatrix.Multiply(SharpFont.FTMatrix)">
  5939. <summary>
  5940. Perform the matrix operation ‘b = a*b’.
  5941. </summary>
  5942. <remarks>
  5943. The result is undefined if either ‘a’ or ‘b’ is zero.
  5944. </remarks>
  5945. <param name="b">A pointer to matrix ‘b’.</param>
  5946. </member>
  5947. <member name="M:SharpFont.FTMatrix.Invert">
  5948. <summary>
  5949. Invert a 2x2 matrix. Return an error if it can't be inverted.
  5950. </summary>
  5951. </member>
  5952. <member name="T:SharpFont.Module">
  5953. <summary>
  5954. A handle to a given FreeType module object. Each module can be a font driver, a renderer, or anything else that
  5955. provides services to the formers.
  5956. </summary>
  5957. </member>
  5958. <member name="T:SharpFont.OpenArgs">
  5959. <summary>
  5960. A structure used to indicate how to open a new font file or stream. A pointer to such a structure can be used
  5961. as a parameter for the functions <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/> and <see cref="M:SharpFont.Face.AttachStream(SharpFont.OpenArgs)"/>.
  5962. </summary>
  5963. <remarks>
  5964. The stream type is determined by the contents of <see cref="P:SharpFont.OpenArgs.Flags"/> which are tested in the following order by
  5965. <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/>:
  5966. <list type="bullet">
  5967. <item><description>
  5968. If the <see cref="F:SharpFont.OpenFlags.Memory"/> bit is set, assume that this is a memory file of <see cref="P:SharpFont.OpenArgs.MemorySize"/>
  5969. bytes, located at <see cref="P:SharpFont.OpenArgs.MemoryBase"/>. The data are are not copied, and the client is responsible for
  5970. releasing and destroying them after the corresponding call to <see cref="M:SharpFont.Face.Dispose"/>.
  5971. </description></item>
  5972. <item><description>
  5973. Otherwise, if the <see cref="F:SharpFont.OpenFlags.Stream"/> bit is set, assume that a custom input stream
  5974. <see cref="P:SharpFont.OpenArgs.Stream"/> is used.
  5975. </description></item>
  5976. <item><description>
  5977. Otherwise, if the <see cref="F:SharpFont.OpenFlags.PathName"/> bit is set, assume that this is a normal file and use
  5978. <see cref="P:SharpFont.OpenArgs.PathName"/> to open it.
  5979. </description></item>
  5980. <item><description>
  5981. If the <see cref="F:SharpFont.OpenFlags.Driver"/> bit is set, <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/> only tries to open the file
  5982. with the driver whose handler is in <see cref="P:SharpFont.OpenArgs.Driver"/>.
  5983. </description></item>
  5984. <item><description>
  5985. If the <see cref="F:SharpFont.OpenFlags.Params"/> bit is set, the parameters given by <see cref="P:SharpFont.OpenArgs.ParamsCount"/> and
  5986. <see cref="P:SharpFont.OpenArgs.Params"/> is used. They are ignored otherwise.
  5987. </description></item>
  5988. </list>
  5989. Ideally, both the <see cref="P:SharpFont.OpenArgs.PathName"/> and <see cref="P:SharpFont.OpenArgs.Params"/> fields should be tagged as ‘const’; this is
  5990. missing for API backwards compatibility. In other words, applications should treat them as read-only.
  5991. </remarks>
  5992. </member>
  5993. <member name="P:SharpFont.OpenArgs.Flags">
  5994. <summary>
  5995. Gets a set of bit flags indicating how to use the structure.
  5996. </summary>
  5997. </member>
  5998. <member name="P:SharpFont.OpenArgs.MemoryBase">
  5999. <summary>
  6000. Gets the first byte of the file in memory.
  6001. </summary>
  6002. </member>
  6003. <member name="P:SharpFont.OpenArgs.MemorySize">
  6004. <summary>
  6005. Gets the size in bytes of the file in memory.
  6006. </summary>
  6007. </member>
  6008. <member name="P:SharpFont.OpenArgs.PathName">
  6009. <summary>
  6010. Gets a pointer to an 8-bit file pathname.
  6011. </summary>
  6012. </member>
  6013. <member name="P:SharpFont.OpenArgs.Stream">
  6014. <summary>
  6015. Gets a handle to a source stream object.
  6016. </summary>
  6017. </member>
  6018. <member name="P:SharpFont.OpenArgs.Driver">
  6019. <summary>
  6020. Gets the font driver to use to open the face. If set to 0, FreeType tries to load the face with each one of
  6021. the drivers in its list.
  6022. </summary>
  6023. <remarks>This field is exclusively used by <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/>.</remarks>
  6024. </member>
  6025. <member name="P:SharpFont.OpenArgs.ParamsCount">
  6026. <summary>
  6027. Gets the number of extra parameters.
  6028. </summary>
  6029. </member>
  6030. <member name="P:SharpFont.OpenArgs.Params">
  6031. <summary>
  6032. Gets the extra parameters passed to the font driver when opening a new face.
  6033. </summary>
  6034. </member>
  6035. <member name="T:SharpFont.OpenFlags">
  6036. <summary>
  6037. A list of bit-field constants used within the ‘flags’ field of the <see cref="T:SharpFont.OpenArgs"/> structure.
  6038. </summary>
  6039. <remarks>
  6040. The <see cref="F:SharpFont.OpenFlags.Memory"/>, <see cref="F:SharpFont.OpenFlags.Stream"/>, and <see cref="F:SharpFont.OpenFlags.PathName"/> flags
  6041. are mutually exclusive.
  6042. </remarks>
  6043. </member>
  6044. <member name="F:SharpFont.OpenFlags.Memory">
  6045. <summary>
  6046. This is a memory-based stream.
  6047. </summary>
  6048. </member>
  6049. <member name="F:SharpFont.OpenFlags.Stream">
  6050. <summary>
  6051. Copy the stream from the ‘stream’ field.
  6052. </summary>
  6053. </member>
  6054. <member name="F:SharpFont.OpenFlags.PathName">
  6055. <summary>
  6056. Create a new input stream from a C path name.
  6057. </summary>
  6058. </member>
  6059. <member name="F:SharpFont.OpenFlags.Driver">
  6060. <summary>
  6061. Use the ‘driver’ field.
  6062. </summary>
  6063. </member>
  6064. <member name="F:SharpFont.OpenFlags.Params">
  6065. <summary>
  6066. Use the ‘num_params’ and ‘params’ fields.
  6067. </summary>
  6068. </member>
  6069. <member name="T:SharpFont.Outline">
  6070. <summary>
  6071. This structure is used to describe an outline to the scan-line converter.
  6072. </summary>
  6073. <remarks>
  6074. The B/W rasterizer only checks bit 2 in the ‘tags’ array for the first point of each contour. The drop-out mode
  6075. as given with <see cref="F:SharpFont.OutlineFlags.IgnoreDropouts"/>, <see cref="F:SharpFont.OutlineFlags.SmartDropouts"/>, and
  6076. <see cref="F:SharpFont.OutlineFlags.IncludeStubs"/> in ‘flags’ is then overridden.
  6077. </remarks>
  6078. </member>
  6079. <member name="M:SharpFont.Outline.#ctor(SharpFont.Library,System.UInt32,System.Int32)">
  6080. <summary>
  6081. Initializes a new instance of the <see cref="T:SharpFont.Outline"/> class.
  6082. </summary>
  6083. <remarks>
  6084. The reason why this function takes a ‘library’ parameter is simply to use the library's memory allocator.
  6085. </remarks>
  6086. <param name="library">
  6087. A handle to the library object from where the outline is allocated. Note however that the new outline will
  6088. not necessarily be freed, when destroying the library, by <see cref="M:SharpFont.Library.Finalize"/>.
  6089. </param>
  6090. <param name="pointsCount">The maximum number of points within the outline.</param>
  6091. <param name="contoursCount">The maximum number of contours within the outline.</param>
  6092. </member>
  6093. <member name="M:SharpFont.Outline.#ctor(SharpFont.Memory,System.UInt32,System.Int32)">
  6094. <summary>
  6095. Initializes a new instance of the <see cref="T:SharpFont.Outline"/> class.
  6096. </summary>
  6097. <param name="memory">A handle to the memory object from where the outline is allocated.</param>
  6098. <param name="pointsCount">The maximum number of points within the outline.</param>
  6099. <param name="contoursCount">The maximum number of contours within the outline.</param>
  6100. </member>
  6101. <member name="M:SharpFont.Outline.Finalize">
  6102. <summary>
  6103. Finalizes an instance of the <see cref="T:SharpFont.Outline"/> class.
  6104. </summary>
  6105. </member>
  6106. <member name="P:SharpFont.Outline.IsDisposed">
  6107. <summary>
  6108. Gets a value indicating whether the <see cref="T:SharpFont.Outline"/> has been disposed.
  6109. </summary>
  6110. </member>
  6111. <member name="P:SharpFont.Outline.ContoursCount">
  6112. <summary>
  6113. Gets the number of contours in the outline.
  6114. </summary>
  6115. </member>
  6116. <member name="P:SharpFont.Outline.PointsCount">
  6117. <summary>
  6118. Gets the number of points in the outline.
  6119. </summary>
  6120. </member>
  6121. <member name="P:SharpFont.Outline.Points">
  6122. <summary>
  6123. Gets a pointer to an array of ‘PointsCount’ <see cref="T:SharpFont.FTVector"/> elements, giving the outline's point
  6124. coordinates.
  6125. </summary>
  6126. </member>
  6127. <member name="P:SharpFont.Outline.Tags">
  6128. <summary><para>
  6129. Gets a pointer to an array of ‘PointsCount’ chars, giving each outline point's type.
  6130. </para><para>
  6131. If bit 0 is unset, the point is ‘off’ the curve, i.e., a Bézier control point, while it is ‘on’ if set.
  6132. </para><para>
  6133. Bit 1 is meaningful for ‘off’ points only. If set, it indicates a third-order Bézier arc control point; and
  6134. a second-order control point if unset.
  6135. </para><para>
  6136. If bit 2 is set, bits 5-7 contain the drop-out mode (as defined in the OpenType specification; the value is
  6137. the same as the argument to the SCANMODE instruction).
  6138. </para><para>
  6139. Bits 3 and 4 are reserved for internal purposes.
  6140. </para></summary>
  6141. </member>
  6142. <member name="P:SharpFont.Outline.Contours">
  6143. <summary>
  6144. Gets an array of ‘ContoursCount’ shorts, giving the end point of each contour within the outline. For
  6145. example, the first contour is defined by the points ‘0’ to ‘Contours[0]’, the second one is defined by the
  6146. points ‘Contours[0]+1’ to ‘Contours[1]’, etc.
  6147. </summary>
  6148. </member>
  6149. <member name="P:SharpFont.Outline.Flags">
  6150. <summary>
  6151. Gets a set of bit flags used to characterize the outline and give hints to the scan-converter and hinter on
  6152. how to convert/grid-fit it.
  6153. </summary>
  6154. <see cref="T:SharpFont.OutlineFlags"/>
  6155. </member>
  6156. <member name="M:SharpFont.Outline.Copy(SharpFont.Outline)">
  6157. <summary>
  6158. Copy an outline into another one. Both objects must have the same sizes (number of points &amp; number of
  6159. contours) when this function is called.
  6160. </summary>
  6161. <param name="target">A handle to the target outline.</param>
  6162. </member>
  6163. <member name="M:SharpFont.Outline.Translate(System.Int32,System.Int32)">
  6164. <summary>
  6165. Apply a simple translation to the points of an outline.
  6166. </summary>
  6167. <param name="offsetX">The horizontal offset.</param>
  6168. <param name="offsetY">The vertical offset.</param>
  6169. </member>
  6170. <member name="M:SharpFont.Outline.Transform(SharpFont.FTMatrix)">
  6171. <summary>
  6172. Apply a simple 2x2 matrix to all of an outline's points. Useful for applying rotations, slanting, flipping,
  6173. etc.
  6174. </summary>
  6175. <remarks>
  6176. You can use <see cref="M:SharpFont.Outline.Translate(System.Int32,System.Int32)"/> if you need to translate the outline's points.
  6177. </remarks>
  6178. <param name="matrix">A pointer to the transformation matrix.</param>
  6179. </member>
  6180. <member name="M:SharpFont.Outline.Embolden(System.Int32)">
  6181. <summary><para>
  6182. Embolden an outline. The new outline will be at most 4 times ‘strength’ pixels wider and higher. You may
  6183. think of the left and bottom borders as unchanged.
  6184. </para><para>
  6185. Negative ‘strength’ values to reduce the outline thickness are possible also.
  6186. </para></summary>
  6187. <remarks><para>
  6188. The used algorithm to increase or decrease the thickness of the glyph doesn't change the number of points;
  6189. this means that certain situations like acute angles or intersections are sometimes handled incorrectly.
  6190. </para><para>
  6191. If you need ‘better’ metrics values you should call <see cref="M:SharpFont.Outline.GetCBox"/> or <see cref="M:SharpFont.Outline.GetBBox"/>.
  6192. </para></remarks>
  6193. <example>
  6194. FT_Load_Glyph( face, index, FT_LOAD_DEFAULT );
  6195. if ( face-&gt;slot-&gt;format == FT_GLYPH_FORMAT_OUTLINE )
  6196. FT_Outline_Embolden( &amp;face-&gt;slot-&gt;outline, strength );
  6197. </example>
  6198. <param name="strength">How strong the glyph is emboldened. Expressed in 26.6 pixel format.</param>
  6199. </member>
  6200. <member name="M:SharpFont.Outline.EmboldenXY(System.Int32,System.Int32)">
  6201. <summary>
  6202. Embolden an outline. The new outline will be ‘xstrength’ pixels wider and ‘ystrength’ pixels higher.
  6203. Otherwise, it is similar to <see cref="M:SharpFont.Outline.Embolden(System.Int32)"/>, which uses the same strength in both directions.
  6204. </summary>
  6205. <param name="strengthX">
  6206. How strong the glyph is emboldened in the X direction. Expressed in 26.6 pixel format.
  6207. </param>
  6208. <param name="strengthY">
  6209. How strong the glyph is emboldened in the Y direction. Expressed in 26.6 pixel format.
  6210. </param>
  6211. </member>
  6212. <member name="M:SharpFont.Outline.Reverse">
  6213. <summary>
  6214. Reverse the drawing direction of an outline. This is used to ensure consistent fill conventions for
  6215. mirrored glyphs.
  6216. </summary>
  6217. <remarks><para>
  6218. This function toggles the bit flag <see cref="F:SharpFont.OutlineFlags.ReverseFill"/> in the outline's ‘flags’ field.
  6219. </para><para>
  6220. It shouldn't be used by a normal client application, unless it knows what it is doing.
  6221. </para></remarks>
  6222. </member>
  6223. <member name="M:SharpFont.Outline.Check">
  6224. <summary>
  6225. Check the contents of an outline descriptor.
  6226. </summary>
  6227. </member>
  6228. <member name="M:SharpFont.Outline.GetBBox">
  6229. <summary>
  6230. Compute the exact bounding box of an outline. This is slower than computing the control box. However, it
  6231. uses an advanced algorithm which returns very quickly when the two boxes coincide. Otherwise, the outline
  6232. Bézier arcs are traversed to extract their extrema.
  6233. </summary>
  6234. <remarks>
  6235. If the font is tricky and the glyph has been loaded with <see cref="F:SharpFont.LoadFlags.NoScale"/>, the resulting
  6236. BBox is meaningless. To get reasonable values for the BBox it is necessary to load the glyph at a large
  6237. ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting
  6238. the BBox which can be eventually converted back to font units.
  6239. </remarks>
  6240. <returns>The outline's exact bounding box.</returns>
  6241. </member>
  6242. <member name="M:SharpFont.Outline.Decompose(SharpFont.OutlineFuncs,System.IntPtr)">
  6243. <summary>
  6244. Walk over an outline's structure to decompose it into individual segments and Bézier arcs. This function
  6245. also emits ‘move to’ operations to indicate the start of new contours in the outline.
  6246. </summary>
  6247. <param name="funcInterface">
  6248. A table of ‘emitters’, i.e., function pointers called during decomposition to indicate path operations.
  6249. </param>
  6250. <param name="user">
  6251. A typeless pointer which is passed to each emitter during the decomposition. It can be used to store the
  6252. state during the decomposition.
  6253. </param>
  6254. </member>
  6255. <member name="M:SharpFont.Outline.GetCBox">
  6256. <summary><para>
  6257. Return an outline's ‘control box’. The control box encloses all the outline's points, including Bézier
  6258. control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger
  6259. in some situations (like when rotating an outline which contains Bézier outside arcs).
  6260. </para><para>
  6261. Computing the control box is very fast, while getting the bounding box can take much more time as it needs
  6262. to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component
  6263. which is dedicated to this single task.
  6264. </para></summary>
  6265. <remarks>See <see cref="M:SharpFont.Glyph.GetCBox(SharpFont.GlyphBBoxMode)"/> for a discussion of tricky fonts.</remarks>
  6266. <returns>The outline's control box.</returns>
  6267. </member>
  6268. <member name="M:SharpFont.Outline.GetBitmap(SharpFont.FTBitmap)">
  6269. <summary>
  6270. Render an outline within a bitmap. The outline's image is simply OR-ed to the target bitmap.
  6271. </summary>
  6272. <remarks><para>
  6273. This function does NOT CREATE the bitmap, it only renders an outline image within the one you pass to it!
  6274. Consequently, the various fields in ‘abitmap’ should be set accordingly.
  6275. </para><para>
  6276. It will use the raster corresponding to the default glyph format.
  6277. </para><para>
  6278. The value of the ‘num_grays’ field in ‘abitmap’ is ignored. If you select the gray-level rasterizer, and
  6279. you want less than 256 gray levels, you have to use <see cref="M:SharpFont.Outline.Render(SharpFont.RasterParams)"/> directly.
  6280. </para></remarks>
  6281. <param name="bitmap">A pointer to the target bitmap descriptor.</param>
  6282. </member>
  6283. <member name="M:SharpFont.Outline.GetBitmap(SharpFont.Library,SharpFont.FTBitmap)">
  6284. <summary>
  6285. Render an outline within a bitmap. The outline's image is simply OR-ed to the target bitmap.
  6286. </summary>
  6287. <remarks><para>
  6288. This function does NOT CREATE the bitmap, it only renders an outline image within the one you pass to it!
  6289. Consequently, the various fields in ‘abitmap’ should be set accordingly.
  6290. </para><para>
  6291. It will use the raster corresponding to the default glyph format.
  6292. </para><para>
  6293. The value of the ‘num_grays’ field in ‘abitmap’ is ignored. If you select the gray-level rasterizer, and
  6294. you want less than 256 gray levels, you have to use <see cref="M:SharpFont.Outline.Render(SharpFont.Library,SharpFont.RasterParams)"/> directly.
  6295. </para></remarks>
  6296. <param name="library">A handle to a FreeType library object.</param>
  6297. <param name="bitmap">A pointer to the target bitmap descriptor.</param>
  6298. </member>
  6299. <member name="M:SharpFont.Outline.Render(SharpFont.RasterParams)">
  6300. <summary>
  6301. Render an outline within a bitmap using the current scan-convert. This function uses an
  6302. <see cref="T:SharpFont.RasterParams"/> structure as an argument, allowing advanced features like direct composition,
  6303. translucency, etc.
  6304. </summary>
  6305. <remarks><para>
  6306. You should know what you are doing and how <see cref="T:SharpFont.RasterParams"/> works to use this function.
  6307. </para><para>
  6308. The field ‘params.source’ will be set to ‘outline’ before the scan converter is called, which means that
  6309. the value you give to it is actually ignored.
  6310. </para><para>
  6311. The gray-level rasterizer always uses 256 gray levels. If you want less gray levels, you have to provide
  6312. your own span callback. See the <see cref="F:SharpFont.RasterFlags.Direct"/> value of the ‘flags’ field in the
  6313. <see cref="T:SharpFont.RasterParams"/> structure for more details.
  6314. </para></remarks>
  6315. <param name="parameters">
  6316. A pointer to an <see cref="T:SharpFont.RasterParams"/> structure used to describe the rendering operation.
  6317. </param>
  6318. </member>
  6319. <member name="M:SharpFont.Outline.Render(SharpFont.Library,SharpFont.RasterParams)">
  6320. <summary>
  6321. Render an outline within a bitmap using the current scan-convert. This function uses an
  6322. <see cref="T:SharpFont.RasterParams"/> structure as an argument, allowing advanced features like direct composition,
  6323. translucency, etc.
  6324. </summary>
  6325. <remarks><para>
  6326. You should know what you are doing and how <see cref="T:SharpFont.RasterParams"/> works to use this function.
  6327. </para><para>
  6328. The field ‘params.source’ will be set to ‘outline’ before the scan converter is called, which means that
  6329. the value you give to it is actually ignored.
  6330. </para><para>
  6331. The gray-level rasterizer always uses 256 gray levels. If you want less gray levels, you have to provide
  6332. your own span callback. See the <see cref="F:SharpFont.RasterFlags.Direct"/> value of the ‘flags’ field in the
  6333. <see cref="T:SharpFont.RasterParams"/> structure for more details.
  6334. </para></remarks>
  6335. <param name="library">A handle to a FreeType library object.</param>
  6336. <param name="parameters">
  6337. A pointer to an <see cref="T:SharpFont.RasterParams"/> structure used to describe the rendering operation.
  6338. </param>
  6339. </member>
  6340. <member name="M:SharpFont.Outline.GetOrientation">
  6341. <summary><para>
  6342. This function analyzes a glyph outline and tries to compute its fill orientation (see
  6343. <see cref="T:SharpFont.Orientation"/>). This is done by computing the direction of each global horizontal and/or
  6344. vertical extrema within the outline.
  6345. </para><para>
  6346. Note that this will return <see cref="F:SharpFont.Orientation.TrueType"/> for empty outlines.
  6347. </para></summary>
  6348. <returns>The orientation.</returns>
  6349. </member>
  6350. <member name="M:SharpFont.Outline.GetInsideBorder">
  6351. <summary>
  6352. Retrieve the <see cref="T:SharpFont.StrokerBorder"/> value corresponding to the ‘inside’ borders of a given outline.
  6353. </summary>
  6354. <returns>The border index. <see cref="F:SharpFont.StrokerBorder.Right"/> for empty or invalid outlines.</returns>
  6355. </member>
  6356. <member name="M:SharpFont.Outline.GetOutsideBorder">
  6357. <summary>
  6358. Retrieve the <see cref="T:SharpFont.StrokerBorder"/> value corresponding to the ‘outside’ borders of a given outline.
  6359. </summary>
  6360. <returns>The border index. <see cref="F:SharpFont.StrokerBorder.Left"/> for empty or invalid outlines.</returns>
  6361. </member>
  6362. <member name="M:SharpFont.Outline.Dispose">
  6363. <summary>
  6364. Disposes an instance of the <see cref="T:SharpFont.Outline"/> class.
  6365. </summary>
  6366. </member>
  6367. <member name="T:SharpFont.OutlineFlags">
  6368. <summary>
  6369. A list of bit-field constants use for the flags in an outline's ‘flags’ field.
  6370. </summary>
  6371. <remarks><para>
  6372. The flags <see cref="F:SharpFont.OutlineFlags.IgnoreDropouts"/>, <see cref="F:SharpFont.OutlineFlags.SmartDropouts"/>, and
  6373. <see cref="F:SharpFont.OutlineFlags.IncludeStubs"/> are ignored by the smooth rasterizer.
  6374. </para><para>
  6375. There exists a second mechanism to pass the drop-out mode to the B/W rasterizer; see the ‘tags’ field in
  6376. <see cref="T:SharpFont.Outline"/>.
  6377. </para><para>
  6378. Please refer to the description of the ‘SCANTYPE’ instruction in the OpenType specification (in file
  6379. ‘ttinst1.doc’) how simple drop-outs, smart drop-outs, and stubs are defined.
  6380. </para></remarks>
  6381. </member>
  6382. <member name="F:SharpFont.OutlineFlags.None">
  6383. <summary>
  6384. Value 0 is reserved.
  6385. </summary>
  6386. </member>
  6387. <member name="F:SharpFont.OutlineFlags.Owner">
  6388. <summary>
  6389. If set, this flag indicates that the outline's field arrays (i.e., ‘points’, ‘flags’, and ‘contours’) are
  6390. ‘owned’ by the outline object, and should thus be freed when it is destroyed.
  6391. </summary>
  6392. </member>
  6393. <member name="F:SharpFont.OutlineFlags.EvenOddFill">
  6394. <summary>
  6395. By default, outlines are filled using the non-zero winding rule. If set to 1, the outline will be filled
  6396. using the even-odd fill rule (only works with the smooth rasterizer).
  6397. </summary>
  6398. </member>
  6399. <member name="F:SharpFont.OutlineFlags.ReverseFill">
  6400. <summary>
  6401. By default, outside contours of an outline are oriented in clock-wise direction, as defined in the TrueType
  6402. specification. This flag is set if the outline uses the opposite direction (typically for Type 1 fonts).
  6403. This flag is ignored by the scan converter.
  6404. </summary>
  6405. </member>
  6406. <member name="F:SharpFont.OutlineFlags.IgnoreDropouts">
  6407. <summary>
  6408. By default, the scan converter will try to detect drop-outs in an outline and correct the glyph bitmap to
  6409. ensure consistent shape continuity. If set, this flag hints the scan-line converter to ignore such cases.
  6410. See below for more information.
  6411. </summary>
  6412. </member>
  6413. <member name="F:SharpFont.OutlineFlags.SmartDropouts">
  6414. <summary>
  6415. Select smart dropout control. If unset, use simple dropout control. Ignored if
  6416. <see cref="F:SharpFont.OutlineFlags.IgnoreDropouts"/> is set. See below for more information.
  6417. </summary>
  6418. </member>
  6419. <member name="F:SharpFont.OutlineFlags.IncludeStubs">
  6420. <summary>
  6421. If set, turn pixels on for ‘stubs’, otherwise exclude them. Ignored if
  6422. <see cref="F:SharpFont.OutlineFlags.IgnoreDropouts"/> is set. See below for more information.
  6423. </summary>
  6424. </member>
  6425. <member name="F:SharpFont.OutlineFlags.HighPrecision">
  6426. <summary>
  6427. This flag indicates that the scan-line converter should try to convert this outline to bitmaps with the
  6428. highest possible quality. It is typically set for small character sizes. Note that this is only a hint that
  6429. might be completely ignored by a given scan-converter.
  6430. </summary>
  6431. </member>
  6432. <member name="F:SharpFont.OutlineFlags.SinglePass">
  6433. <summary>
  6434. This flag is set to force a given scan-converter to only use a single pass over the outline to render a
  6435. bitmap glyph image. Normally, it is set for very large character sizes. It is only a hint that might be
  6436. completely ignored by a given scan-converter.
  6437. </summary>
  6438. </member>
  6439. <member name="T:SharpFont.MoveToFunc">
  6440. <summary><para>
  6441. A function pointer type used to describe the signature of a ‘move to’ function during outline
  6442. walking/decomposition.
  6443. </para><para>
  6444. A ‘move to’ is emitted to start a new contour in an outline.
  6445. </para></summary>
  6446. <param name="to">A pointer to the target point of the ‘move to’.</param>
  6447. <param name="user">A typeless pointer which is passed from the caller of the decomposition function.</param>
  6448. <returns>Error code. 0 means success.</returns>
  6449. </member>
  6450. <member name="T:SharpFont.LineToFunc">
  6451. <summary><para>
  6452. A function pointer type used to describe the signature of a ‘line to’ function during outline
  6453. walking/decomposition.
  6454. </para><para>
  6455. A ‘line to’ is emitted to indicate a segment in the outline.
  6456. </para></summary>
  6457. <param name="to">A pointer to the target point of the ‘line to’.</param>
  6458. <param name="user">A typeless pointer which is passed from the caller of the decomposition function.</param>
  6459. <returns>Error code. 0 means success.</returns>
  6460. </member>
  6461. <member name="T:SharpFont.ConicToFunc">
  6462. <summary><para>
  6463. A function pointer type used to describe the signature of a ‘conic to’ function during outline walking or
  6464. decomposition.
  6465. </para><para>
  6466. A ‘conic to’ is emitted to indicate a second-order Bézier arc in the outline.
  6467. </para></summary>
  6468. <param name="control">
  6469. An intermediate control point between the last position and the new target in ‘to’.
  6470. </param>
  6471. <param name="to">A pointer to the target end point of the conic arc.</param>
  6472. <param name="user">A typeless pointer which is passed from the caller of the decomposition function.</param>
  6473. <returns>Error code. 0 means success.</returns>
  6474. </member>
  6475. <member name="T:SharpFont.CubicToFunc">
  6476. <summary><para>
  6477. A function pointer type used to describe the signature of a ‘cubic to’ function during outline walking or
  6478. decomposition.
  6479. </para><para>
  6480. A ‘cubic to’ is emitted to indicate a third-order Bézier arc.
  6481. </para></summary>
  6482. <param name="control1">A pointer to the first Bézier control point.</param>
  6483. <param name="control2">A pointer to the second Bézier control point.</param>
  6484. <param name="to">A pointer to the target end point.</param>
  6485. <param name="user">A typeless pointer which is passed from the caller of the decomposition function.</param>
  6486. <returns>Error code. 0 means success.</returns>
  6487. </member>
  6488. <member name="T:SharpFont.OutlineFuncs">
  6489. <summary>
  6490. A structure to hold various function pointers used during outline decomposition in order to emit segments,
  6491. conic, and cubic Béziers.
  6492. </summary>
  6493. <remarks>
  6494. The point coordinates sent to the emitters are the transformed version of the original coordinates (this is
  6495. important for high accuracy during scan-conversion). The transformation is simple:
  6496. <code>
  6497. x' = (x &lt;&lt; shift) - delta
  6498. y' = (x &lt;&lt; shift) - delta
  6499. </code>
  6500. Set the values of ‘shift’ and ‘delta’ to 0 to get the original point coordinates.
  6501. </remarks>
  6502. </member>
  6503. <member name="M:SharpFont.OutlineFuncs.#ctor">
  6504. <summary>
  6505. Initializes a new instance of the OutlineFuncs class.
  6506. </summary>
  6507. </member>
  6508. <member name="M:SharpFont.OutlineFuncs.#ctor(SharpFont.MoveToFunc,SharpFont.LineToFunc,SharpFont.ConicToFunc,SharpFont.CubicToFunc,System.Int32,System.Int32)">
  6509. <summary>
  6510. Initializes a new instance of the OutlineFuncs class.
  6511. </summary>
  6512. <param name="moveTo">The move to delegate.</param>
  6513. <param name="lineTo">The line to delegate.</param>
  6514. <param name="conicTo">The conic to delegate.</param>
  6515. <param name="cubicTo">The cubic to delegate.</param>
  6516. <param name="shift">A value to shift by.</param>
  6517. <param name="delta">A delta to transform by.</param>
  6518. </member>
  6519. <member name="P:SharpFont.OutlineFuncs.MoveFunction">
  6520. <summary>
  6521. Gets or sets the ‘move to’ emitter.
  6522. </summary>
  6523. </member>
  6524. <member name="P:SharpFont.OutlineFuncs.LineFuction">
  6525. <summary>
  6526. Gets or sets the segment emitter.
  6527. </summary>
  6528. </member>
  6529. <member name="P:SharpFont.OutlineFuncs.ConicFunction">
  6530. <summary>
  6531. Gets or sets the second-order Bézier arc emitter.
  6532. </summary>
  6533. </member>
  6534. <member name="P:SharpFont.OutlineFuncs.CubicFunction">
  6535. <summary>
  6536. Gets or sets the third-order Bézier arc emitter.
  6537. </summary>
  6538. </member>
  6539. <member name="P:SharpFont.OutlineFuncs.Shift">
  6540. <summary>
  6541. Gets or sets the shift that is applied to coordinates before they are sent to the emitter.
  6542. </summary>
  6543. </member>
  6544. <member name="P:SharpFont.OutlineFuncs.Delta">
  6545. <summary>
  6546. Gets the delta that is applied to coordinates before they are sent to the emitter, but after the
  6547. shift.
  6548. </summary>
  6549. </member>
  6550. <member name="T:SharpFont.Parameter">
  6551. <summary>
  6552. A simple structure used to pass more or less generic parameters to <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/>.
  6553. </summary>
  6554. <remarks>
  6555. The ID and function of parameters are driver-specific. See the various <see cref="T:SharpFont.ParamTag"/> flags for more
  6556. information.
  6557. </remarks>
  6558. </member>
  6559. <member name="P:SharpFont.Parameter.Tag">
  6560. <summary>
  6561. Gets a four-byte identification tag.
  6562. </summary>
  6563. </member>
  6564. <member name="P:SharpFont.Parameter.Data">
  6565. <summary>
  6566. Gets a pointer to the parameter data.
  6567. </summary>
  6568. </member>
  6569. <member name="T:SharpFont.ParamTag">
  6570. <summary>
  6571. Constants used as the tag of <see cref="T:SharpFont.Parameter"/> structures.
  6572. </summary>
  6573. </member>
  6574. <member name="F:SharpFont.ParamTag.IgnorePreferredFamily">
  6575. <summary>
  6576. A constant used as the tag of <see cref="T:SharpFont.Parameter"/> structures to make <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/>
  6577. ignore preferred family subfamily names in ‘name’ table since OpenType version 1.4. For backwards
  6578. compatibility with legacy systems which has 4-face-per-family restriction.
  6579. </summary>
  6580. </member>
  6581. <member name="F:SharpFont.ParamTag.IgnorePreferredSubfamily">
  6582. <summary>
  6583. A constant used as the tag of <see cref="T:SharpFont.Parameter"/> structures to make <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/>
  6584. ignore preferred subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility
  6585. with legacy systems which has 4-face-per-family restriction.
  6586. </summary>
  6587. </member>
  6588. <member name="F:SharpFont.ParamTag.Incremental">
  6589. <summary>
  6590. A constant used as the tag of <see cref="T:SharpFont.Parameter"/> structures to indicate an incremental loading object
  6591. to be used by FreeType.
  6592. </summary>
  6593. </member>
  6594. <member name="F:SharpFont.ParamTag.UnpatentedHinting">
  6595. <summary>
  6596. A constant used as the tag of an <see cref="T:SharpFont.Parameter"/> structure to indicate that unpatented methods only
  6597. should be used by the TrueType bytecode interpreter for a typeface opened by
  6598. <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/>.
  6599. </summary>
  6600. </member>
  6601. <member name="T:SharpFont.PixelMode">
  6602. <summary>
  6603. An enumeration type used to describe the format of pixels in a given bitmap. Note that additional formats may
  6604. be added in the future.
  6605. </summary>
  6606. </member>
  6607. <member name="F:SharpFont.PixelMode.None">
  6608. <summary>
  6609. Value 0 is reserved.
  6610. </summary>
  6611. </member>
  6612. <member name="F:SharpFont.PixelMode.Mono">
  6613. <summary>
  6614. A monochrome bitmap, using 1 bit per pixel. Note that pixels are stored in most-significant order (MSB),
  6615. which means that the left-most pixel in a byte has value 128.
  6616. </summary>
  6617. </member>
  6618. <member name="F:SharpFont.PixelMode.Gray">
  6619. <summary>
  6620. An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one byte.
  6621. Note that the number of ‘gray’ levels is stored in the ‘num_grays’ field of the <see cref="T:SharpFont.FTBitmap"/>
  6622. structure (it generally is 256).
  6623. </summary>
  6624. </member>
  6625. <member name="F:SharpFont.PixelMode.Gray2">
  6626. <summary>
  6627. A 2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the
  6628. OpenType specification. We haven't found a single font using this format, however.
  6629. </summary>
  6630. </member>
  6631. <member name="F:SharpFont.PixelMode.Gray4">
  6632. <summary>
  6633. A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font files according to the
  6634. OpenType specification. We haven't found a single font using this format, however.
  6635. </summary>
  6636. </member>
  6637. <member name="F:SharpFont.PixelMode.Lcd">
  6638. <summary>
  6639. An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on LCD displays; the
  6640. bitmap is three times wider than the original glyph image. See also <see cref="F:SharpFont.RenderMode.Lcd"/>.
  6641. </summary>
  6642. </member>
  6643. <member name="F:SharpFont.PixelMode.VerticalLcd">
  6644. <summary>
  6645. An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on rotated LCD displays;
  6646. the bitmap is three times taller than the original glyph image. See also
  6647. <see cref="F:SharpFont.RenderMode.VerticalLcd"/>.
  6648. </summary>
  6649. </member>
  6650. <member name="T:SharpFont.RenderMode">
  6651. <summary><para>
  6652. An enumeration type that lists the render modes supported by FreeType 2. Each mode corresponds to a specific
  6653. type of scanline conversion performed on the outline.
  6654. </para><para>
  6655. For bitmap fonts and embedded bitmaps the <see cref="P:SharpFont.FTBitmap.PixelMode"/> field in the <see cref="T:SharpFont.GlyphSlot"/>
  6656. structure gives the format of the returned bitmap.
  6657. </para><para>
  6658. All modes except <see cref="F:SharpFont.RenderMode.Mono"/> use 256 levels of opacity.
  6659. </para></summary>
  6660. <remarks><para>
  6661. The LCD-optimized glyph bitmaps produced by <see cref="M:SharpFont.GlyphSlot.RenderGlyph(SharpFont.RenderMode)"/> can be filtered to reduce
  6662. color-fringes by using <see cref="M:SharpFont.Library.SetLcdFilter(SharpFont.LcdFilter)"/> (not active in the default builds). It is up to the
  6663. caller to either call <see cref="M:SharpFont.Library.SetLcdFilter(SharpFont.LcdFilter)"/> (if available) or do the filtering itself.
  6664. </para><para>
  6665. The selected render mode only affects vector glyphs of a font. Embedded bitmaps often have a different pixel
  6666. mode like <see cref="F:SharpFont.PixelMode.Mono"/>. You can use <see cref="M:SharpFont.FTBitmap.Convert(SharpFont.Library,System.Int32)"/> to transform them into 8-bit
  6667. pixmaps.
  6668. </para></remarks>
  6669. </member>
  6670. <member name="F:SharpFont.RenderMode.Normal">
  6671. <summary>
  6672. This is the default render mode; it corresponds to 8-bit anti-aliased bitmaps.
  6673. </summary>
  6674. </member>
  6675. <member name="F:SharpFont.RenderMode.Light">
  6676. <summary>
  6677. This is equivalent to <see cref="F:SharpFont.RenderMode.Normal"/>. It is only defined as a separate value because
  6678. render modes are also used indirectly to define hinting algorithm selectors.
  6679. </summary>
  6680. <see cref="T:SharpFont.LoadTarget"/>
  6681. </member>
  6682. <member name="F:SharpFont.RenderMode.Mono">
  6683. <summary>
  6684. This mode corresponds to 1-bit bitmaps (with 2 levels of opacity).
  6685. </summary>
  6686. </member>
  6687. <member name="F:SharpFont.RenderMode.Lcd">
  6688. <summary>
  6689. This mode corresponds to horizontal RGB and BGR sub-pixel displays like LCD screens. It produces 8-bit
  6690. bitmaps that are 3 times the width of the original glyph outline in pixels, and which use the
  6691. <see cref="F:SharpFont.PixelMode.Lcd"/> mode.
  6692. </summary>
  6693. </member>
  6694. <member name="F:SharpFont.RenderMode.VerticalLcd">
  6695. <summary>
  6696. This mode corresponds to vertical RGB and BGR sub-pixel displays (like PDA screens, rotated LCD displays,
  6697. etc.). It produces 8-bit bitmaps that are 3 times the height of the original glyph outline in pixels and
  6698. use the <see cref="F:SharpFont.PixelMode.VerticalLcd"/> mode.
  6699. </summary>
  6700. </member>
  6701. <member name="T:SharpFont.FTSize">
  6702. <summary>
  6703. FreeType root size class structure. A size object models a face object at a given size.
  6704. </summary>
  6705. </member>
  6706. <member name="M:SharpFont.FTSize.#ctor(SharpFont.Face)">
  6707. <summary>
  6708. Initializes a new instance of the <see cref="T:SharpFont.FTSize"/> class.
  6709. </summary>
  6710. <param name="parent">The parent face.</param>
  6711. </member>
  6712. <member name="M:SharpFont.FTSize.Finalize">
  6713. <summary>
  6714. Finalizes an instance of the FTSize class.
  6715. </summary>
  6716. </member>
  6717. <member name="P:SharpFont.FTSize.IsDisposed">
  6718. <summary>
  6719. Gets a value indicating whether the object has been disposed.
  6720. </summary>
  6721. </member>
  6722. <member name="P:SharpFont.FTSize.Face">
  6723. <summary>
  6724. Gets a handle to the parent face object.
  6725. </summary>
  6726. </member>
  6727. <member name="P:SharpFont.FTSize.Generic">
  6728. <summary>
  6729. Gets or sets a typeless pointer, which is unused by the FreeType library or any of its drivers. It can be used by
  6730. client applications to link their own data to each size object.
  6731. </summary>
  6732. </member>
  6733. <member name="P:SharpFont.FTSize.Metrics">
  6734. <summary>
  6735. Gets metrics for this size object. This field is read-only.
  6736. </summary>
  6737. </member>
  6738. <member name="M:SharpFont.FTSize.Activate">
  6739. <summary><para>
  6740. Even though it is possible to create several size objects for a given face (see
  6741. <see cref="M:SharpFont.Face.NewSize"/> for details), functions like <see cref="M:SharpFont.Face.LoadGlyph(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/> or
  6742. <see cref="M:SharpFont.Face.LoadChar(System.UInt32,SharpFont.LoadFlags,SharpFont.LoadTarget)"/> only use the one which has been activated last to determine the
  6743. ‘current character pixel size’.
  6744. </para><para>
  6745. This function can be used to ‘activate’ a previously created size object.
  6746. </para></summary>
  6747. <remarks>
  6748. If ‘face’ is the size's parent face object, this function changes the value of ‘face->size’ to the input
  6749. size handle.
  6750. </remarks>
  6751. </member>
  6752. <member name="M:SharpFont.FTSize.Dispose">
  6753. <summary>
  6754. Diposes the FTSize.
  6755. </summary>
  6756. </member>
  6757. <member name="T:SharpFont.SizeMetrics">
  6758. <summary>
  6759. The size metrics structure gives the metrics of a size object.
  6760. </summary>
  6761. <remarks><para>
  6762. The scaling values, if relevant, are determined first during a size changing operation. The remaining fields
  6763. are then set by the driver. For scalable formats, they are usually set to scaled values of the corresponding
  6764. fields in <see cref="T:SharpFont.Face"/>.
  6765. </para><para>
  6766. Note that due to glyph hinting, these values might not be exact for certain fonts. Thus they must be treated as
  6767. unreliable with an error margin of at least one pixel!
  6768. </para><para>
  6769. Indeed, the only way to get the exact metrics is to render all glyphs. As this would be a definite performance
  6770. hit, it is up to client applications to perform such computations.
  6771. </para><para>
  6772. The <see cref="T:SharpFont.SizeMetrics"/> structure is valid for bitmap fonts also.
  6773. </para></remarks>
  6774. </member>
  6775. <member name="P:SharpFont.SizeMetrics.NominalWidth">
  6776. <summary>
  6777. Gets the width of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to
  6778. as ‘nominal width’.
  6779. </summary>
  6780. </member>
  6781. <member name="P:SharpFont.SizeMetrics.NominalHeight">
  6782. <summary>
  6783. Gets the height of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to
  6784. as ‘nominal height’.
  6785. </summary>
  6786. </member>
  6787. <member name="P:SharpFont.SizeMetrics.ScaleX">
  6788. <summary>
  6789. Gets a 16.16 fractional scaling value used to convert horizontal metrics from font units to 26.6 fractional
  6790. pixels. Only relevant for scalable font formats.
  6791. </summary>
  6792. </member>
  6793. <member name="P:SharpFont.SizeMetrics.ScaleY">
  6794. <summary>
  6795. Gets a 16.16 fractional scaling value used to convert vertical metrics from font units to 26.6 fractional
  6796. pixels. Only relevant for scalable font formats.
  6797. </summary>
  6798. </member>
  6799. <member name="P:SharpFont.SizeMetrics.Ascender">
  6800. <summary>
  6801. Gets the ascender in 26.6 fractional pixels.
  6802. </summary>
  6803. <see cref="T:SharpFont.Face"/>
  6804. </member>
  6805. <member name="P:SharpFont.SizeMetrics.Descender">
  6806. <summary>
  6807. Gets the descender in 26.6 fractional pixels.
  6808. </summary>
  6809. <see cref="T:SharpFont.Face"/>
  6810. </member>
  6811. <member name="P:SharpFont.SizeMetrics.Height">
  6812. <summary>
  6813. Gets the height in 26.6 fractional pixels.
  6814. </summary>
  6815. <see cref="T:SharpFont.Face"/>
  6816. </member>
  6817. <member name="P:SharpFont.SizeMetrics.MaxAdvance">
  6818. <summary>
  6819. Gets the maximal advance width in 26.6 fractional pixels.
  6820. </summary>
  6821. <see cref="T:SharpFont.Face"/>
  6822. </member>
  6823. <member name="T:SharpFont.SizeRequest">
  6824. <summary>
  6825. A structure used to model a size request.
  6826. </summary>
  6827. <remarks>
  6828. If <see cref="P:SharpFont.SizeRequest.Width"/> is zero, then the horizontal scaling value is set equal to the vertical scaling value,
  6829. and vice versa.
  6830. </remarks>
  6831. </member>
  6832. <member name="P:SharpFont.SizeRequest.RequestType">
  6833. <summary>
  6834. See <see cref="T:SharpFont.SizeRequestType"/>.
  6835. </summary>
  6836. </member>
  6837. <member name="P:SharpFont.SizeRequest.Width">
  6838. <summary>
  6839. Gets the desired width.
  6840. </summary>
  6841. </member>
  6842. <member name="P:SharpFont.SizeRequest.Height">
  6843. <summary>
  6844. Gets the desired height.
  6845. </summary>
  6846. </member>
  6847. <member name="P:SharpFont.SizeRequest.HorizontalResolution">
  6848. <summary>
  6849. Gets the horizontal resolution. If set to zero, <see cref="P:SharpFont.SizeRequest.Width"/> is treated as a 26.6 fractional pixel
  6850. value.
  6851. </summary>
  6852. </member>
  6853. <member name="P:SharpFont.SizeRequest.VerticalResolution">
  6854. <summary>
  6855. Gets the horizontal resolution. If set to zero, <see cref="P:SharpFont.SizeRequest.Height"/> is treated as a 26.6 fractional pixel
  6856. value.
  6857. </summary>
  6858. </member>
  6859. <member name="T:SharpFont.SizeRequestType">
  6860. <summary>
  6861. An enumeration type that lists the supported size request types.
  6862. </summary>
  6863. <remarks><para>
  6864. The above descriptions only apply to scalable formats. For bitmap formats, the behaviour is up to the driver.
  6865. </para><para>
  6866. See the note section of <see cref="T:SharpFont.SizeMetrics"/> if you wonder how size
  6867. requesting relates to scaling values.
  6868. </para></remarks>
  6869. </member>
  6870. <member name="F:SharpFont.SizeRequestType.Normal">
  6871. <summary>
  6872. The nominal size. The ‘units_per_EM’ field of <see cref="T:SharpFont.Face"/> is used to determine both scaling values.
  6873. </summary>
  6874. </member>
  6875. <member name="F:SharpFont.SizeRequestType.RealDimensions">
  6876. <summary>
  6877. The real dimension. The sum of the the ‘ascender’ and (minus of) the ‘descender’ fields of
  6878. <see cref="T:SharpFont.Face"/> are used to determine both scaling values.
  6879. </summary>
  6880. </member>
  6881. <member name="F:SharpFont.SizeRequestType.BoundingBox">
  6882. <summary>
  6883. The font bounding box. The width and height of the ‘bbox’ field of <see cref="T:SharpFont.Face"/> are used to determine
  6884. the horizontal and vertical scaling value, respectively.
  6885. </summary>
  6886. </member>
  6887. <member name="F:SharpFont.SizeRequestType.Cell">
  6888. <summary>
  6889. The ‘max_advance_width’ field of <see cref="T:SharpFont.Face"/> is used to determine the horizontal scaling value; the
  6890. vertical scaling value is determined the same way as <see cref="F:SharpFont.SizeRequestType.RealDimensions"/> does.
  6891. Finally, both scaling values are set to the smaller one. This type is useful if you want to specify the
  6892. font size for, say, a window of a given dimension and 80x24 cells.
  6893. </summary>
  6894. </member>
  6895. <member name="F:SharpFont.SizeRequestType.Scales">
  6896. <summary>
  6897. Specify the scaling values directly.
  6898. </summary>
  6899. </member>
  6900. <member name="T:SharpFont.Span">
  6901. <summary>
  6902. A structure used to model a single span of gray (or black) pixels when rendering a monochrome or anti-aliased
  6903. bitmap.
  6904. </summary>
  6905. <remarks><para>
  6906. This structure is used by the span drawing callback type named <see cref="T:SharpFont.RasterSpanFunc"/> which takes the y
  6907. coordinate of the span as a a parameter.
  6908. </para><para>
  6909. The coverage value is always between 0 and 255. If you want less gray values, the callback function has to
  6910. reduce them.
  6911. </para></remarks>
  6912. </member>
  6913. <member name="P:SharpFont.Span.X">
  6914. <summary>
  6915. Gets the span's horizontal start position.
  6916. </summary>
  6917. </member>
  6918. <member name="P:SharpFont.Span.Length">
  6919. <summary>
  6920. Gets the span's length in pixels.
  6921. </summary>
  6922. </member>
  6923. <member name="P:SharpFont.Span.Coverage">
  6924. <summary>
  6925. Gets the span color/coverage, ranging from 0 (background) to 255 (foreground). Only used for anti-aliased
  6926. rendering.
  6927. </summary>
  6928. </member>
  6929. <member name="T:SharpFont.StreamIOFunc">
  6930. <summary>
  6931. A function used to seek and read data from a given input stream.
  6932. </summary>
  6933. <remarks>
  6934. This function might be called to perform a seek or skip operation with a ‘count’ of 0. A non-zero return value
  6935. then indicates an error.
  6936. </remarks>
  6937. <param name="stream">A handle to the source stream.</param>
  6938. <param name="offset">The offset of read in stream (always from start).</param>
  6939. <param name="buffer">The address of the read buffer.</param>
  6940. <param name="count">The number of bytes to read from the stream.</param>
  6941. <returns>The number of bytes effectively read by the stream.</returns>
  6942. </member>
  6943. <member name="T:SharpFont.StreamCloseFunc">
  6944. <summary>
  6945. A function used to close a given input stream.
  6946. </summary>
  6947. <param name="stream">A handle to the target stream.</param>
  6948. </member>
  6949. <member name="T:SharpFont.FTStream">
  6950. <summary>
  6951. A handle to an input stream.
  6952. </summary>
  6953. </member>
  6954. <member name="P:SharpFont.FTStream.Base">
  6955. <summary>
  6956. Gets base. For memory-based streams, this is the address of the first stream byte in memory. This field
  6957. should always be set to NULL for disk-based streams.
  6958. </summary>
  6959. </member>
  6960. <member name="P:SharpFont.FTStream.Size">
  6961. <summary>
  6962. Gets the stream size in bytes.
  6963. </summary>
  6964. </member>
  6965. <member name="P:SharpFont.FTStream.Position">
  6966. <summary>
  6967. Gets the current position within the stream.
  6968. </summary>
  6969. </member>
  6970. <member name="P:SharpFont.FTStream.Descriptor">
  6971. <summary>
  6972. Gets the descriptor. This field is a union that can hold an integer or a pointer. It is used by stream
  6973. implementations to store file descriptors or ‘FILE*’ pointers.
  6974. </summary>
  6975. </member>
  6976. <member name="P:SharpFont.FTStream.PathName">
  6977. <summary>
  6978. Gets the path name. This field is completely ignored by FreeType. However, it is often useful during
  6979. debugging to use it to store the stream's filename (where available).
  6980. </summary>
  6981. </member>
  6982. <member name="P:SharpFont.FTStream.Read">
  6983. <summary>
  6984. Gets the stream's input function.
  6985. </summary>
  6986. </member>
  6987. <member name="P:SharpFont.FTStream.Close">
  6988. <summary>
  6989. Gets the stream's close function.
  6990. </summary>
  6991. </member>
  6992. <member name="P:SharpFont.FTStream.Memory">
  6993. <summary>
  6994. Gets the memory manager to use to preload frames. This is set internally by FreeType and shouldn't be
  6995. touched by stream implementations.
  6996. </summary>
  6997. </member>
  6998. <member name="P:SharpFont.FTStream.Cursor">
  6999. <summary>
  7000. Gets the cursor. This field is set and used internally by FreeType when parsing frames.
  7001. </summary>
  7002. </member>
  7003. <member name="P:SharpFont.FTStream.Limit">
  7004. <summary>
  7005. Gets the limit. This field is set and used internally by FreeType when parsing frames.
  7006. </summary>
  7007. </member>
  7008. <member name="M:SharpFont.FTStream.OpenGzip(SharpFont.FTStream)">
  7009. <summary>
  7010. Open a new stream to parse gzip-compressed font files. This is mainly used to support the compressed
  7011. ‘*.pcf.gz’ fonts that come with XFree86.
  7012. </summary>
  7013. <remarks><para>
  7014. The source stream must be opened before calling this function.
  7015. </para><para>
  7016. Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the
  7017. source stream. None of the stream objects will be released to the heap.
  7018. </para><para>
  7019. The stream implementation is very basic and resets the decompression process each time seeking backwards is
  7020. needed within the stream.
  7021. </para><para>
  7022. In certain builds of the library, gzip compression recognition is automatically handled when calling
  7023. <see cref="M:SharpFont.Library.NewFace(System.String,System.Int32)"/> or <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/>. This means that if no font driver is
  7024. capable of handling the raw compressed file, the library will try to open a gzipped stream from it and
  7025. re-open the face with it.
  7026. </para><para>
  7027. This function may return <see cref="F:SharpFont.Error.UnimplementedFeature"/> if your build of FreeType was not
  7028. compiled with zlib support.
  7029. </para></remarks>
  7030. <param name="source">The source stream.</param>
  7031. </member>
  7032. <member name="M:SharpFont.FTStream.OpenLzw(SharpFont.FTStream)">
  7033. <summary>
  7034. Open a new stream to parse LZW-compressed font files. This is mainly used to support the compressed
  7035. ‘*.pcf.Z’ fonts that come with XFree86.
  7036. </summary>
  7037. <remarks><para>
  7038. The source stream must be opened before calling this function.
  7039. </para><para>
  7040. Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the
  7041. source stream. None of the stream objects will be released to the heap.
  7042. </para><para>
  7043. The stream implementation is very basic and resets the decompression process each time seeking backwards is
  7044. needed within the stream.
  7045. </para><para>
  7046. In certain builds of the library, LZW compression recognition is automatically handled when calling
  7047. <see cref="M:SharpFont.Library.NewFace(System.String,System.Int32)"/> or <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/>. This means that if no font driver is
  7048. capable of handling the raw compressed file, the library will try to open a LZW stream from it and re-open
  7049. the face with it.
  7050. </para><para>
  7051. This function may return <see cref="F:SharpFont.Error.UnimplementedFeature"/> if your build of FreeType was not
  7052. compiled with LZW support.
  7053. </para></remarks>
  7054. <param name="source">The source stream.</param>
  7055. </member>
  7056. <member name="M:SharpFont.FTStream.StreamOpenBzip2(SharpFont.FTStream)">
  7057. <summary>
  7058. Open a new stream to parse bzip2-compressed font files. This is mainly used to support the compressed
  7059. ‘*.pcf.bz2’ fonts that come with XFree86.
  7060. </summary>
  7061. <remarks><para>
  7062. The source stream must be opened before calling this function.
  7063. </para><para>
  7064. Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the
  7065. source stream. None of the stream objects will be released to the heap.
  7066. </para><para>
  7067. The stream implementation is very basic and resets the decompression process each time seeking backwards is
  7068. needed within the stream.
  7069. </para><para>
  7070. In certain builds of the library, bzip2 compression recognition is automatically handled when calling
  7071. <see cref="M:SharpFont.Library.NewFace(System.String,System.Int32)"/> or <see cref="M:SharpFont.Library.OpenFace(SharpFont.OpenArgs,System.Int32)"/>. This means that if no font driver is
  7072. capable of handling the raw compressed file, the library will try to open a bzip2 stream from it and
  7073. re-open the face with it.
  7074. </para><para>
  7075. This function may return <see cref="F:SharpFont.Error.UnimplementedFeature"/> if your build of FreeType was not
  7076. compiled with bzip2 support.
  7077. </para></remarks>
  7078. <param name="source">The source stream.</param>
  7079. </member>
  7080. <member name="T:SharpFont.StyleFlags">
  7081. <summary>
  7082. A list of bit-flags used to indicate the style of a given face. These are used in the ‘style_flags’ field of
  7083. <see cref="T:SharpFont.Face"/>.
  7084. </summary>
  7085. <remarks>
  7086. The style information as provided by FreeType is very basic. More details are beyond the scope and should be
  7087. done on a higher level (for example, by analyzing various fields of the ‘OS/2’ table in SFNT based fonts).
  7088. </remarks>
  7089. </member>
  7090. <member name="F:SharpFont.StyleFlags.None">
  7091. <summary>
  7092. No style flags.
  7093. </summary>
  7094. </member>
  7095. <member name="F:SharpFont.StyleFlags.Italic">
  7096. <summary>
  7097. Indicates that a given face style is italic or oblique.
  7098. </summary>
  7099. </member>
  7100. <member name="F:SharpFont.StyleFlags.Bold">
  7101. <summary>
  7102. Indicates that a given face is bold.
  7103. </summary>
  7104. </member>
  7105. <member name="T:SharpFont.SubGlyph">
  7106. <summary>
  7107. The subglyph structure is an internal object used to describe subglyphs (for example, in the case of
  7108. composites).
  7109. </summary>
  7110. <remarks><para>
  7111. The subglyph implementation is not part of the high-level API, hence the forward structure declaration.
  7112. </para><para>
  7113. You can however retrieve subglyph information with <see cref="M:SharpFont.GlyphSlot.GetSubGlyphInfo(System.UInt32,System.Int32@,SharpFont.SubGlyphFlags@,System.Int32@,System.Int32@,SharpFont.FTMatrix@)"/>.
  7114. </para></remarks>
  7115. </member>
  7116. <member name="T:SharpFont.SubGlyphFlags">
  7117. <summary>
  7118. A list of constants used to describe subglyphs. Please refer to the TrueType specification for the meaning of
  7119. the various flags.
  7120. </summary>
  7121. </member>
  7122. <member name="T:SharpFont.FTVector">
  7123. <summary>
  7124. A simple structure used to store a 2D vector.
  7125. </summary>
  7126. </member>
  7127. <member name="M:SharpFont.FTVector.#ctor(System.Int32,System.Int32)">
  7128. <summary>
  7129. Initializes a new instance of the <see cref="T:SharpFont.FTVector"/> struct.
  7130. </summary>
  7131. <param name="x">The horizontal coordinate.</param>
  7132. <param name="y">The vertical coordinate.</param>
  7133. </member>
  7134. <member name="P:SharpFont.FTVector.X">
  7135. <summary>
  7136. Gets or sets the horizontal coordinate.
  7137. </summary>
  7138. </member>
  7139. <member name="P:SharpFont.FTVector.Y">
  7140. <summary>
  7141. Gets or sets the vertical coordinate.
  7142. </summary>
  7143. </member>
  7144. <member name="M:SharpFont.FTVector.Unit(System.Int32)">
  7145. <summary><para>
  7146. Return the unit vector corresponding to a given angle. After the call, the value of ‘vec.x’ will be
  7147. ‘sin(angle)’, and the value of ‘vec.y’ will be ‘cos(angle)’.
  7148. </para><para>
  7149. This function is useful to retrieve both the sinus and cosinus of a given angle quickly.
  7150. </para></summary>
  7151. <param name="angle">The address of angle.</param>
  7152. <returns>The address of target vector.</returns>
  7153. </member>
  7154. <member name="M:SharpFont.FTVector.FromPolar(System.Int32,System.Int32)">
  7155. <summary>
  7156. Compute vector coordinates from a length and angle.
  7157. </summary>
  7158. <param name="length">The vector length.</param>
  7159. <param name="angle">The vector angle.</param>
  7160. <returns>The address of source vector.</returns>
  7161. </member>
  7162. <member name="M:SharpFont.FTVector.Transform(SharpFont.FTMatrix)">
  7163. <summary>
  7164. Transform a single vector through a 2x2 matrix.
  7165. </summary>
  7166. <remarks>
  7167. The result is undefined if either ‘vector’ or ‘matrix’ is invalid.
  7168. </remarks>
  7169. <param name="matrix">A pointer to the source 2x2 matrix.</param>
  7170. </member>
  7171. <member name="M:SharpFont.FTVector.Rotate(System.Int32)">
  7172. <summary>
  7173. Rotate a vector by a given angle.
  7174. </summary>
  7175. <param name="angle">The address of angle.</param>
  7176. </member>
  7177. <member name="M:SharpFont.FTVector.Length">
  7178. <summary>
  7179. Return the length of a given vector.
  7180. </summary>
  7181. <returns>The vector length, expressed in the same units that the original vector coordinates.</returns>
  7182. </member>
  7183. <member name="M:SharpFont.FTVector.Polarize(System.Int32@,System.Int32@)">
  7184. <summary>
  7185. Compute both the length and angle of a given vector.
  7186. </summary>
  7187. <param name="length">The vector length.</param>
  7188. <param name="angle">The vector angle.</param>
  7189. </member>
  7190. </members>
  7191. </doc>