Font Fallback and Vertical Text
HotPDF voi valita varasuunnitelmapuolet Unicode-kirjoitusjärjestelmän mukaan, ilmoittaa ratkaisemattomat koodipisteet ja kirjoittaa CJK-tekstiä todellisella pystysuuntaisella CID-kirjoitustilalla
Asiakirjatason varasuunnitelmaketjut
THotPDF.SetFontFallbackChain tallentaa järjestetyn puoliluettelon yhdelle THPDFFontScript -kategoriassa
THPDFPage.TextOutWithFallback ratkaisee jokaisen Unicode-skaalaarin valittua puolta, sen kirjoitusjärjestelmäketjua ja yhteistä ketjua vasten ja tuottaa viereiset skaalaarit samalla puolella yhtenä tekstijuoksuna
- Varasuunnitelmaketjut ovat asiakirja-asetuksia ja pysyvät käytettävissä sivujen yli
- Kaksois- ja tyhjät puolenimet poistetaan säilyttäen kutsujan järjestys
- Asennettujen puolien tutkinta hylkää hiljaisen GDI-korvikkeen ennen kattavuuden hyväksyntää
- Lisätaulujen skaalaarit dekoodataan UTF-16-surrogattipareista ennen luokittelua
- Jokainen varasuunnitelajuoksu käyttää olemassa olevaa upotettua Type0-fonttia, subsetointia,
ToUnicode, sekä jaettua sivujen yli menevää fonttipolkua - Varasuunnitelma-asettelu tarkistaa asennetut fonttiperheet pyydetyllä lihavoilla ja kursiivilla facella, säilyttää kaikki fonttityylin, merkistön, koon ja kirjoitussuunnan asetukset juoksujen välillä ja palauttaa kutsujan fontin jälkeenpäin
Toimeenpanokelpoiset diagnoosit
AnalyzeUnresolvedGlyphs suorittaa vain luvat kattavuustarkastuksen, kun taas TextOutWithFallback tallentaa tuotannon aikana kohdatut ratkaisemattomat skaalaarit
Each THPDFUnresolvedGlyphInfo sisältää skaalaarin koodipisteen, ensisijaisen puolen, luokitellun kirjoitusjärjestelmän ja puolipisteillä erotetun varasuunnitelmaehdotusluettelon
GetUnresolvedGlyphs palauttaa nykyisen asiakirjaraportin ja ClearUnresolvedGlyphs aloittaa uuden raportointivälin
Metodien THotPDF.ResolveFontForCodePoint ja THotPDF.AnalyzeUnresolvedGlyphs erilliset tyylilliset ylikuormat hyväksyvät arvon TFontStyles, joten esitarkistus voi tutkia samaa facea, jota tulosteessa käytetään; niiden alkuperäiset ylikuormat tutkivat edelleen tavallisia faceja
Tekstilaatikot, SVG-upotettu teksti ja ladatut tekstiulkoasut säilyttävät tyylitellyt fonttiperheet varasuunnitelma-asettelun läpi sen sijaan, että käsittelevät PDF:n sisäisiä fonttinimiä järjestelmäperheinä tai vaihtaisivat jokaisen juoksun tavalliseen faceen
Pystysuuntainen CJK-kirjoitus
THPDFPage.TextOutVertical valitsee nykyisen puolen pystyvariantin ja tuottaa yhden Identity-V -tekstijuoksun positioimatta jokaista merkkiä käsin
- CID-lapsifontti sisältää
/DW2-oletukset ja glyyfikohtaiset/W2-merkinnät - OpenType
vheajavmtxtoimittavat pystykevennykset ja yläsivuvarat; TrueType-peräpisteet johdetaan kunkinglyf-rajauslaatikosta, kun taasVORGtoimittaa auktoritatiiviset CFF-peräpisteen oletukset ja poikkeukset - Fontit ilman pystytaulukoita käyttävät määritettäviä 1000 yksikön kevennys- ja 880 yksikön peräpisteen oletuksia
- With
sfVerticalAlternates, täydellinen pituuden säilyttävä GSUB-juoksu käyttäävrt2kun se on ilmoitettu, ja muuten palaavert, säilyttäen aktiivisen kirjoitusjärjestelmän ja kielen valinnan - Kun fontti jättää väimerkkikorvauksen väliin mutta kuvittaa Unicode-pystyesitysmuodot, pilkut, pisteet, sulkeet, viivat, ellipsit ja vastaavat välimerkit käyttävät kyseisiä glyyfejä, kun taas
ToUnicodesäilyttää lähdekseen - Vertical
vkrnjavpalGPOS-ominaisuudet pysyvät käytettävissäShapingFeatures GetVerticalTextAdvancepalauttaa käyttäjäavaruuden kevennyksen, joka tarvitaan seuraavan pystyjuoksun positioimiseen
Example
PDF.SetFontFallbackChain(hfsCJK,
['Microsoft YaHei UI', 'Yu Gothic UI', 'Malgun Gothic']);
PDF.SetFontFallbackChain(hfsEmoji, ['Segoe UI Emoji']);
PDF.CurrentPage.SetFont('Arial', [], 12);
PDF.CurrentPage.TextOutWithFallback(72, 72, 0, Text);
PDF.CurrentPage.SetFont('Yu Gothic UI', [], 14);
PDF.CurrentPage.TextOutVertical(420, 72, VerticalText);
Missing := PDF.GetUnresolvedGlyphs;