Saltar al contingut principal

Capítol 3.4 · Part II · L'ofici

Configuració: partició de mots i llengua

Els patrons i les excepcions de la partició de mots, el text en bandera, la llengua del document amb les seves xifres i la seva direcció, i les escriptures que compon Postext

Actualitzat 2026-10-1623 minAl capítol 3 Configuracióenescadefritptzhjaar

En poques paraules

Aquesta pàgina explica com es parteixen els mots al final de la línia i com sap Postext en quina llengua està escrit el llibre. Actives o desactives la partició de mots i anotes les paraules que no s'han de partir mai. Pots deixar la vora dreta del text irregular en lloc de recta. La llengua del document decideix les regles per partir mots, els noms de les figures i les taules, les xifres i la direcció del text. Les últimes seccions diuen quines escriptures sap compondre Postext i com tracta el text àrab.

#Partició de mots

Quan l'alineació del text està configurada com a 'justify', la partició de mots evita l'espaiat excessiu entre paraules en trencar les paraules llargues pels límits sil·làbics. El motor utilitza patrons TeX/Liang per trobar punts de ruptura naturals en els límits sil·làbics. Vegeu Partició de mots i justificació per a una explicació detallada. El text en bandera només es divideix si es demana: vegeu Text en bandera més avall.

PropietatTipusPer defecteDescripció
enabledbooleantrueSi es permet la partició de mots.
localeLocaleTagel locale de primer nivell o, si no n'hi ha, 'en-us'Regles de llengua per als límits sil·làbics: una de les llengües admeses de sota o qualsevol etiqueta BCP 47 ('es-ES', 'pt-BR').
raggedbooleanfalseParteix mots també en el text en bandera (alineat a l'esquerra, a la dreta o centrat), dins de la zone. Vegeu Text en bandera.
zoneDimension3emZona de partició del text en bandera: una paraula que no hi cap només es divideix quan passar-la sencera a la línia següent deixaria un buit més gran que aquesta mesura. En em és relativa al cos del mateix text. No s'aplica al text justificat.
compoundsbooleantruePermet que el diccionari divideixi les paraules d'un compost, una paraula amb un guionet entre dues lletres (teó-rico-práctico). false deixa la paraula sencera excepte pel seu propi guionet, on la línia sí que pot acabar (teórico- · práctico), com fa TeX. Un guionet tou escrit a la paraula continua permetent el tall, i un compost més ample que tota la línia es continua dividint. S'aplica al text corregut, els títols, les llistes, les cites i els requadres; els peus, les notes, les cel·les de taula i l'índex de continguts continuen dividint els compostos. Vegeu Paraules compostes.
exceptionsstring[]capParaules que el diccionari no ha de dividir, o que només pot dividir per on diu l'entrada: 'Alice' no es divideix mai, 'You-Tube' només pel seu guionet. Vegeu Mots que no es divideixen.
capitalizedbooleantrueDivideix les paraules amb majúscula inicial com qualsevol altra. false deixa sencera tota paraula que comença amb majúscula (Alice, Ámsterdam, UNESCO), inclosa la primera de cada frase. Vegeu Mots que no es divideixen.

Llengües admeses: 'en-us' (anglès), 'es' (castellà), 'fr' (francès), 'de' (alemany), 'it' (italià), 'pt' (portuguès), 'ca' (català), 'nl' (neerlandès).

Per triar els patrons s'ignoren les subetiquetes de regió, escriptura i variant, les majúscules i els separadors _: 'es-ES', 'es-MX' i 'es_419' es divideixen amb 'es', 'pt-BR' amb 'pt' i qualsevol etiqueta anglesa ('en', 'en-GB') amb 'en-us', els únics patrons anglesos inclosos, de manera que el text britànic rep els talls nord-americans. Una llengua sense patrons inclosos ('sv', 'pl', 'fi'…) es divideix amb els d''en-us', cosa que dona talls equivocats en lloc de cap; el motor ho avisa un cop per etiqueta amb un console.warn, i el Sandbox ho mostra al seu tauler de revisió. Per a un document així, fixa enabled: false; això també fa callar l'avís. El xinès, el japonès i el coreà (zh, ja, ko, amb qualsevol regió o escriptura) no necessiten patrons ni imprimeixen cap avís: un document en una d'aquestes llengües es compon sense partició de mots. Per dividir les paraules llatines que cita, fixa enabled: true i anomena'n la llengua a locale ('en-us' per a l'anglès). Amb enabled: true sense locale, o amb un de xinès, japonès o coreà, la partició continua desactivada i la consola ho avisa un cop. matchHyphenationLocale(tag) retorna la llengua inclosa a la qual correspon una etiqueta (undefined si no n'hi ha cap), i HYPHENATION_LOCALES enumera les incloses. La configuració resolta (doc.config.bodyText.hyphenation) anomena a locale els patrons que s'usen de debò i conserva a tag l'etiqueta que vas donar quan és diferent. El backend PDF declara la llengua del document a partir de locale, a l'arrel de la configuració, i només fa servir aquesta etiqueta quan locale falta (consulta Llengua del document).

import { matchHyphenationLocale } from 'postext';
 
matchHyphenationLocale('es-MX'); // 'es'
matchHyphenationLocale('en-GB'); // 'en-us'
matchHyphenationLocale('sv');    // undefined: es divideix amb 'en-us', amb un avís a la consola

Les paraules de menys de 5 caràcters no es parteixen mai. El motor requereix com a mínim 2 caràcters abans i 3 caràcters després d'un punt de ruptura.

#Mots que no es divideixen

Un diccionari divideix un nom com divideix qualsevol paraula: Al-ice, Áms-ter-dam, You-Tu-be. Tres ajustos deixen senceres les paraules, i tots tres tenen per defecte el que fa el diccionari.

hyphenation.exceptions és una llista de paraules, com el \hyphenation{…} de TeX. Una entrada escrita sense guionet no es divideix mai; una d'escrita amb guionets només es divideix per aquests, de manera que 'You-Tube' dona You- · Tube i res més. Una entrada coincideix amb una sèrie de lletres, l'envolti el que l'envolti: 'Alice' val per a (Alice, i Alice’s, i un compost es compara part per part (Blender-based coincideix amb 'Blender'). Una forma flexionada és una altra paraula i necessita la seva pròpia entrada. Una entrada en minúscules val per a la paraula s'escrigui com s'escrigui ('blender' cobreix Blender i BLENDER); una entrada amb majúscula inicial només val per a les aparicions que comencen amb majúscula, de manera que 'Rose' deixa sencer el nom i deixa rose al diccionari. Les entrades només porten lletres i guionets; la resta es descarta.

hyphenation.capitalized: false deixa sencera tota paraula que comença amb majúscula: els noms, les sigles i també la primera paraula de cada frase. És l'opció «Hyphenate Capitalized Words» d'InDesign desactivada, i el \uchyph=0 de TeX. Una entrada d'exceptions amb guionets continua dividint la seva paraula per aquests. L'alemany escriu amb majúscula tots els substantius, de manera que l'ajust deixaria un text alemany gairebé sense paraules per dividir: anomena-hi les paraules a exceptions, o fes servir citations.hyphenateNames.

citations.hyphenateNames: false deixa sencers els cognoms dels autors que el document cita, siguin on siguin: en una citació, en el text corregut i a la llista de referències. Vegeu Cites.

const config: PostextConfig = {
  locale: 'es',
  bodyText: {
    hyphenation: { exceptions: ['Ámsterdam', 'Blender', 'You-Tube'] },
  },
};

Tots tres arriben a tot text que el diccionari divideix: cos, títols, llistes, requadres, peus, cel·les de taula, notes, capçaleres i la resta del text de disseny. És més del que abasta compounds, que els peus, les notes, les cel·les i l'índex de continguts ignoren. Dues coses continuen com estaven. Un guionet tou escrit en una aparició d'una paraula continua decidint aquella aparició, i un guionet tou davant de la primera lletra deixa sencera una aparició sense necessitat de llista (vegeu On no es talla mai una línia). I una paraula més ampla que la mesura sencera es continua dividint: pels punts de la seva entrada si en té i, si no, per les síl·labes del diccionari. Amb menys paraules dividides, una columna justificada estreta té menys maneres d'omplir les seves línies, així que revisa l'espaiat entre paraules després de desactivar capitalized en una pàgina a tres columnes. L'EPUB de maquetació fluida deixa la partició de mots al sistema de lectura, que no sap res d'aquestes regles.

#Text en bandera

Per defecte només es divideix el text justificat: amb textAlign: 'left', i en els estils de paràgraf alineats a l'esquerra, centrats o a la dreta, totes les paraules es mantenen senceres per irregular que quedi el marge, excepte en un guionet tou (U+00AD) escrit al text. Fixa hyphenation.ragged: true per partir mots també en el text en bandera.

Una línia en bandera no s'estira mai, de manera que dividir tota paraula que no hi cap ompliria el marge de guionets. La zona de partició ho limita, com fa el compositor d'una sola línia dels programes de maquetació. Quan una paraula no cap al final d'una línia, el motor mira el buit que deixaria passar-la sencera a la línia següent. Si aquest buit és més gran que zone, divideix la paraula per l'última síl·laba que hi cap; si no, la paraula baixa sencera. Una zona en em és relativa al cos del mateix text. La zona per defecte, 3em, només divideix les paraules que deixarien una línia clarament curta. Una zona més ampla dona menys guionets i un marge més irregular; amb 0 es divideix tota paraula que no hi cap. Línia a línia, mai no acaben més de dues línies seguides en síl·laba. Els guionets propis de la paraula (enseñanza-aprendizaje), les juntures de les URL, els guionets tous escrits al text i les paraules més amples que la línia sencera es tallen com sempre: la zona i el límit de dues línies només governen les síl·labes del diccionari.

L'ajust val per a tot el document. S'aplica al text de cos i a les cites quan van en bandera, i a tot estil de paràgraf i cos de requadre en bandera que tingui activada la seva pròpia hyphenation (que pren per defecte el hyphenation.enabled del cos), de manera que hyphenation: false manté senceres les paraules d'un estil. Els títols, els peus, les notes, les cel·les de taula i l'índex de continguts no es divideixen; en aquests, com arreu, només es talla una paraula més ampla que la mesura sencera. El text de disseny — capçaleres corregudes, portadelles, pàgines de part — segueix la marca hyphenate de cada element de text, que porten activada les portadelles de pàgina completa i les pàgines de part integrades, i també fa servir el diccionari del document. El text justificat ignora ragged i zone.

const config: PostextConfig = {
  locale: 'es',
  bodyText: {
    textAlign: 'left',
    // Una mica més de partició de mots que amb la zona per defecte de 3 em.
    hyphenation: { ragged: true, zone: { value: 2, unit: 'em' } },
  },
};

Amb optimalRagged (el valor per defecte), el text corregut en bandera es compon amb Knuth-Plass, i la zona conserva el seu sentit: una paraula només es divideix quan no cap en el que queda de línia i passar-la sencera a baix deixaria un buit més gran que la zona. Dues síl·labes seguides no es rebutgen, però costen el mateix que dos guionets seguits en el text justificat, de manera que una tercera és rara. Amb optimalRagged: false, o amb optimalLineBreaking: false, cada línia s'omple abans de passar a la següent, com fins a postext 1.4.

La partició de mots en bandera compon els paràgrafs amb el divisor de línies que fan servir sempre els paràgrafs amb format en línia (negreta, cursiva, enllaços, fórmules), de manera que activar-la pot moure algun tall que no és un guionet. En una línia en bandera, a més dels espais i de les síl·labes del diccionari, aquest divisor talla després d'un guionet o un guió entre dues paraules (largas—separadas; amb breakAfterDashes, després de qualsevol guió posat entre paraules sense espais, també I.—Que i calidad–*precio*), a les juntures de les URL i entre ideogrames, i manté unida una paraula escrita en diversos trams (**Nota**:, (*véase*). Sense partició de mots en bandera, un paràgraf en bandera sense format el talla Knuth-Plass quan optimalRagged està activat (el valor per defecte): als espais, després d'un guionet entre dues lletres (enseñanza- · aprendizaje), com l'altre divisor, i, amb breakAfterDashes, després dels guions entre paraules. Línia a línia, passa pel divisor de pretext, que difereix en tres coses: pot tallar també abans del guió que tanca un incís o després del que l'obre (él · — y), després d'una barra quan divideix síl·labes (km/ · h), i talla una paraula més ampla que la línia per qualsevol caràcter i sense guionet, on l'altre divisor la parteix abans per una síl·laba.

Al Sandbox l'interruptor és Partició de mots en bandera, sota l'alineació de paràgraf de la secció Text base, amb la zona a sota. Amb el cos justificat, el mateix interruptor apareix al costat dels ajustos de justificació, per als estils de paràgraf i requadres en bandera.

#Llengua del document

El locale de primer nivell és la llengua del document en conjunt. Admet els mateixos valors que hyphenation.locale i és el valor al qual recorre aquest camp quan no està definit, de manera que a un llibre en castellà li n'hi ha prou amb locale: 'es' per partir mots en castellà. També tria la llengua de les cadenes integrades de continuació de taules i d'avisos partits ((cont.) / Continued davant de Continúa, vegeu Taules més altes que la pàgina i Marques d'un requadre partit) i la dels números d'encapçalament escrits amb lletres (Chapter One davant de Capítulo uno, vegeu Números amb lletres), i és la llengua que s'etiqueta en un PDF accessible. Si no es defineix, el motor assumeix 'en-us'; el Sandbox recorre a l'idioma de la interfície i mostra el camp a Disseny › Escriptura.

També tria els tipus de recurs integrats. Quan resourceTypes no està definit, buildDocument numera i retola amb defaultResourceTypes(locale), de manera que amb locale: 'de' n'hi ha prou per obtenir Abbildung 1.1 i Tabelle 1.1. Si locale no està definit, el substitueix la llengua de la partició de mots, tant per als tipus de recurs com per a les cadenes de les taules. Una llista resourceTypes explícita sempre mana. Les versions anteriors feien servir els tipus en anglès fos quin fos el locale, tret que passessis tu mateix defaultResourceTypes(locale); un document que fixa locale i vol conservar les etiquetes angleses passa resourceTypes: defaultResourceTypes('en'). Els llibres del Sandbox i els paquets porten la seva pròpia llista, així que no els afecta.

Aquí val qualsevol etiqueta BCP 47, igual que a hyphenation.locale: 'de-AT' rep les cadenes alemanyes. Les cadenes integrades existeixen en les vuit llengües que admet la partició de mots, en xinès (en caràcters simplificats i tradicionals), en japonès i en àrab; qualsevol altra llengua rep les angleses.

El xinès admet zh, zh-Hans, zh-Hant, zh-CN, zh-SG, zh-TW, zh-HK, zh-MO i les formes llargues (zh-Hant-TW), en majúscules o minúscules i amb - o _. Les cadenes segueixen l'escriptura, llegida amb Intl.Locale(tag).maximize(): zh, zh-CN i zh-SG són xinès simplificat; zh-TW, zh-HK i zh-MO, tradicional. Els valors tipogràfics que depenen de la llengua segueixen en canvi la regió, com recomana clreq §1.2: CN, SG i MY compten com a Xina continental, TW com a Taiwan, HK i MO com a Hong Kong, i una etiqueta sense regió es regeix per la seva escriptura (zh-Hant és Taiwan; zh i zh-Hans, la Xina continental). El japonès admet ja, ja-JP, ja-Jpan i qualsevol altra etiqueta ja (isJapaneseLanguage(tag)); des de postext 1.16 té les seves pròpies cadenes i la seva pròpia regió, japan, els valors tipogràfics per defecte de la qual segueixen JLReq (vegeu Composició japonesa). Una taula de cadenes sense entrada japonesa dona l'anglès, mai el xinès. localeScript(tag), cjkRegionOf(tag), stringsKeyOf(tag) i sameContentLocale(a, b) retornen aquestes lectures, i DOCUMENT_LANGUAGES enumera les llengües amb cadenes integrades, cadascuna amb el seu nom en la seva pròpia llengua (日本語 entre les entrades xineses i العربية), tal com les mostra el selector de llengua del document del Sandbox.

LlenguaFigura: nom, plural, etiqueta curtaTaula: nom, plural, etiqueta curtaContinuació de taula: continuedSuffix, continuesMarker
Anglès (en)Figure, Figures, Fig.Table, Tables, Tab.(cont.), Continued
Castellà (es)Figura, Figuras, Fig.Tabla, Tablas, Tabla(cont.), Continúa
Francès (fr)Figure, Figures, Fig.Tableau, Tableaux, Tabl.(suite), À suivre
Alemany (de)Abbildung, Abbildungen, Abb.Tabelle, Tabellen, Tab.(Forts.), Wird fortgesetzt
Italià (it)Figura, Figure, Fig.Tabella, Tabelle, Tab.(segue), Continua
Portuguès (pt)Figura, Figuras, Fig.Tabela, Tabelas, Tab.(cont.), Continua
Català (ca)Figura, Figures, Fig.Taula, Taules, Taula(cont.), Continua
Neerlandès (nl)Figuur, Figuren, Fig.Tabel, Tabellen, Tab.(vervolg), Wordt vervolgd
Xinès simplificat (zh-Hans, zh, zh-CN)图, 图, 图表, 表, 表(续), 接下页
Xinès tradicional (zh-Hant, zh-TW, zh-HK)圖, 圖, 圖表, 表, 表(續), 接下頁
Japonès (ja, ja-JP)図, 図, 図表, 表, 表(続き), 次ページへ続く
Àrab (ar, ar-EG, ar-MA…)شكل, أشكال, شكلجدول, جداول, جدول(تابع), يتبع

El prefix del peu és el nom del tipus (Figura 1.1.). Els tipus xinesos numeren dins del capítol amb un guionet, {h1}-{n} (图 1-1); amb els ajustos de peu labelNumberGap: '' i labelSeparator: ' ' el peu es llegeix 图1-1 标题 (vegeu Estil de peus de recurs). L'índex alfabètic també segueix la llengua: 见 i 另见 davant d'una remissió, 符号 i 数字 sobre els símbols i els números en xinès simplificat; 見, 另見, 符號 i 數字 en tradicional. El japonès numera els seus tipus de la mateixa manera i compon els seus peus com 図1-1 題 sense els dos ajustos, escriu les referències creuades com 第3章, 2.3節 i 12ページ, titula la bibliografia 参考文献, i el seu índex imprimeix 記号 i 数字 sobre els símbols i els números i escriu les remissions amb una fletxa, →夏目漱石 per a vegeu i →夏目漱石、森鷗外も見よ després de les pàgines per a vegeu també, amb les etiquetes en rodona. L'àrab numera els seus tipus de la mateixa manera, {h1}-{n} (شكل 2-3), escriu les referències creuades com الفصل 3, القسم 2-1 i ص 12, titula la bibliografia المراجع, i el seu índex imprimeix انظر / انظر أيضًا, رموز i أرقام, amb la coma i el punt i coma àrabs (، ؛).

Un document en xinès, japonès o coreà declara la seva llengua a la sortida HTML (lang a l'arrel .pt-doc, amb zh-Hant-TW complet) i al canvas que pinta (ctx.lang, a Chrome 136 i posteriors), de manera que el navegador dibuixa les formes de glif de la seva regió: Unicode unifica els caràcters han, i un mateix punt de codi es veu diferent en una font taiwanesa i en una de japonesa. Des de postext 1.30 també ho fan els altres documents, en la llengua en què es compon el seu text (bodyText.shapingLanguage: 'document', el valor per defecte); amb 'host' els altres documents no porten lang, i tot canvas pinta en la llengua de la pàgina que l'allotja. El PDF declara /Lang a partir de locale per a tot document, etiquetat o no, amb la seva escriptura i la seva regió. Un document en una llengua que s'escriu de dreta a esquerra (àrab, persa, urdú, hebreu…) també declara la seva llengua: les formes de la llengua de la font (locl) i la font de reserva la segueixen.

const config: PostextConfig = {
  locale: 'es',
  bodyText: { textAlign: 'justify', hyphenation: { enabled: true } }, // parteix mots en castellà
};

#Xifres del document

La clau numerals de primer nivell fixa les xifres de tots els números que escriu el motor: els números de pàgina i les etiquetes de pàgina de l'índex general, de l'índex alfabètic i de les referències a pàgina; els números de les llistes ordenades i de les notes; els comptadors de títols i capítols, {chapterNumber}; el {h1} i el {n} del número d'una figura i d'una referència a aquesta; {totalPages}, {bookTotalPages} i {numberDecimal}. 'latn' escriu 0–9, 'arab' les xifres aràbigues orientals ٠–٩ i 'arabext' les perses ۰–۹. Només canvia el format decimal —decimal, l'arabic de les llistes o un ajust que es deixa per defecte—, de manera que un format que l'autor anomena s'imprimeix tal com s'anomena: lower-roman continua sent i, ii, iii, i arabic-indic en un document llatí escriu ١, ٢, ٣. El text del document no es reescriu mai.

El valor per defecte, 'auto', pren les xifres de locale (defaultNumeralsFor(tag)): 'arab' per a l'àrab sense regió o amb qualsevol regió fora del Magrib (ar, ar-EG, ar-SA, ar-AE…), 'latn' per a ar-MA, ar-DZ, ar-TN, ar-LY, ar-MR i ar-EH, 'arabext' per al persa (fa), el paixtu (ps) i l'urdú de l'Índia (ur-IN), i 'latn' per a tota la resta, inclòs l'urdú del Pakistan. CLDR dona latn per a ar sense regió i per a ar-AE; els llibres àrabs del Màixriq i del Golf imprimeixen ٠–٩, i Postext segueix els llibres. Una etiqueta que anomena les seves xifres les conserva: ar-MA-u-nu-arab. Una pàgina numerada amb les xifres del document desa arabic-indic o persian com a pageNumberFormat, de manera que les etiquetes de pàgina del PDF mostren les mateixes xifres. Un valor desconegut segueix la llengua i s'avisa com a unknownNumerals.

Els números que escriu l'autor es llegeixen en qualsevol dels tres sistemes: un element de llista ٣. comença a 3, i {startAt=٥}, :::numbering{startAt=٥}, :::space{lines=٢} i :::part{number="٣"} (per a {numberDecimal}) llegeixen el valor.

const config: PostextConfig = { locale: 'ar' };                     // ١، ٢، ٣
const magreb: PostextConfig = { locale: 'ar-MA' };                  // 1, 2, 3
const forzado: PostextConfig = { locale: 'ar', numerals: 'latn' };  // 1, 2, 3

#Direcció del text

direction, al primer nivell, fixa la direcció base del document: 'ltr', 'rtl' o 'auto' (el valor predeterminat), que és 'rtl' quan l'escriptura del locale s'escriu de dreta a esquerra (àrab, persa, urdú, hebreu, siríac, thaana, n'ko, adlam…, segons directionOf(tag)) i 'ltr' en els altres casos. Un document de dreta a esquerra es compon en un marc emmirallat: les línies comencen a la dreta, la primera columna és la de la dreta, els sagnats, els marcadors de llista, els flotants, les notes a peu de pàgina i les caixes queden a la dreta, i page.binding: 'auto' l'enquaderna per la dreta. La configuració resolta només porta direction: 'rtl' en un document així, de manera que un document d'esquerra a dreta es resol igual que abans. Un valor desconegut es llegeix com a 'auto' i s'avisa com a unknownConfigValue. L'algorisme bidireccional d'Unicode (UAX #9) ordena els trams de cada línia en qualsevol de les dues direccions: una cita àrab en un llibre anglès es llegeix de dreta a esquerra al seu lloc.

Dins del document, un títol o un contenidor ::: admet {dir=ltr} o {dir=rtl}, i :ltr[…] i :rtl[…] aïllen un tram de text (vegeu Direcció del text al marcatge); un recurs de taula admet table.direction. Un bloc compost en contra de la direcció del document conserva el seu propi costat d'inici: el sagnat, els marcadors de llista i el final alineat de l'última línia passen al costat per on comença el seu text.

Un ajust que anomena un costat es refereix a un costat del text o del flux, mai del plec, de manera que un disseny fet per a un llibre anglès continua valent quan el llibre passa a l'àrab. 'start' i 'end' s'accepten com a noms explícits:

Ajust'left' / 'right''start' / 'end'
textAlign del cos, els títols, els estils de paràgraf, les parts, les notes a peu de pàgina i el cos dels avisos; align del peu i de la seva notaEls costats del text: 'left' és el costat per on comença la línia, la dreta d'un paràgraf àrab, i allà va l'última línia d'un paràgraf justificat.Sinònims de 'left' i 'right'. La configuració resolta porta 'left' / 'right'; la desada conserva el que s'hi va escriure.
align d'una cel·la de taulaEls costats del text de la cel·la, llegits en la direcció de la taula (table.direction).Sinònims, llegits en la direcció de la taula.
placement.align (flotants, figures estretes)Els costats del flux: en un llibre de dreta a esquerra, 'left' és la dreta del plec.Sinònims.
stripe.side, icon.cornerSide i labelTab.position dels avisos ('top-start', 'top-end')Els costats del flux, els mateixos per a totes les caixes de la pàgina.La direcció de la caixa mateixa (un :::callout{dir=ltr} en un llibre àrab comença per l'esquerra del plec).
Ranures de capçalera i peu; elements de disseny ancorats al plecEls costats del plec.Només els elements de text: l'inici i el final de la seva pròpia direction.

placement.rotate conserva el seu sentit físic en una pàgina emmirallada: una figura girada en el sentit de les agulles del rellotge queda girada així al plec. Qui llegeix la maquetació troba el marc emmirallat a cada pàgina (VDTPage.flow amb direction: 'rtl', pageIsMirrored(page)) i l'ordre visual dels segments de cada línia a VDTLine.order; flowToPage i pageToFlow passen del flux al plec i a l'inrevés. Vegeu Composició àrab.

const arab: PostextConfig = { locale: 'ar' };                          // de dreta a esquerra, enquadernat per la dreta
const angles: PostextConfig = { locale: 'en', direction: 'rtl' };      // forçat; poques vegades és el que vols

#Llengües i escriptures

Postext compon escriptures alfabètiques que s'escriuen d'esquerra a dreta, i el xinès i el japonès en horitzontal i en vertical. Composició xinesa i Composició japonesa expliquen com es componen i quins ajustos els governen; les claus són a Tipografia de l'Àsia oriental, Escriptura vertical i Enquadernació. El que rep cada escriptura:

  • El xinès el compon el compositor CJK quan un paràgraf té més caràcters CJK que espais entre paraules: les seves línies es tallen entre caràcters amb les regles de principi i final de línia de cjk.lineBreak (cap línia no comença per 。、」 o ー, cap no acaba en 「 o (), mantenen senceres —— i ……, un número amb els seus signes i una paraula llatina, i una línia justificada s'eixampla entre els seus caràcters fins a la mesura. L'amplada de la puntuació, la puntuació penjada, l'espai entre xinès i llatí, la retícula de caràcters, els punts d'èmfasi, les marques de nom propi i de títol, el ruby i les notes warichu segueixen la regió de locale, al llarg de la línia horitzontal o de la vertical (layout.writingMode: 'vertical-rl'). Un paràgraf llatí que cita unes poques paraules CJK conserva la divisió òptima de línies i es pot tallar al costat d'aquestes; un signe d'obertura o tancament CJK, el punt volat o un signe d'amplada completa citats en text llatí (〈h〉, %) no canvien res.
  • El japonès passa pel mateix compositor amb regles pròpies des de postext 1.16, les dels Requisits per a la composició de textos japonesos del W3C (JLReq) i la JIS X 4051: un locale ja dona la regió japan, els valors automàtics de la qual fixen els nivells de kinsoku de JLReq (els kana petits i ー mai no obren línia), la puntuació d'amplada completa amb compressió de parelles, un quadratí després de ?!, el parèntesi que obre un paràgraf a la segona meitat del sagnat, marques d'èmfasi de sèsam sobre el text, títols d'obres entre 『』, furigana repartits 1:2:1, comptadors japonesos, notes i un índex ordenat per la lectura. Les versions anteriors componien el japonès amb els valors per defecte de la Xina continental.
  • El coreà passa pel mateix compositor i es compon sense partició de mots, però amb els valors per defecte de la Xina continental: les seves regles pròpies (KLREQ) no estan implementades. El coreà es talla entre síl·labes a més de pels seus espais.
  • L'àrab i les altres escriptures de dreta a esquerra (persa, urdú, hebreu…) es componen de dreta a esquerra; Composició àrab explica com. La direction del document surt de l'escriptura del locale, l'algorisme bidireccional d'Unicode ordena les paraules llatines i les xifres dins de cada línia, el llibre s'enquaderna per la dreta amb la primera columna a la dreta, i cada número que escriu el motor pren les xifres de la regió. Una paraula amb una lletra de l'alfabet àrab no es parteix, no s'espaia ni es talla mai, i una línia àrab justificada s'estira als espais i amb caixides. Els signes vocàlics, l'èmfasi, les notes a peu de pàgina i les cadenes de l'àrab són a Text àrab. El persa, l'urdú i l'hebreu reben la direcció, les xifres i les regles de paraula sencera, però no cadenes integrades pròpies.

Hi ha patrons de partició de mots per a vuit llengües (en-us, es, fr, de, it, pt, ca, nl); els tipus de recurs integrats i les cadenes de continuació existeixen en aquestes vuit, en xinès, en japonès i en àrab. El xinès, el japonès, el coreà i les llengües que s'escriuen de dreta a esquerra es componen sense partició de mots. Qualsevol altra llengua es divideix amb els patrons de l'anglès dels EUA, amb un avís a la consola, i rep les cadenes angleses. Per a un document així, fixa hyphenation.enabled: false i passa resourceTypes i les cadenes de continuació de tableStyle en la seva llengua.

#Text àrab

Aquests ajustos serveixen el text en alfabet àrab; cap no canvia un document escrit en una altra escriptura. Composició àrab els explica juntament amb la resta d'un llibre àrab: direcció, enquadernació, xifres, vers, índex general i índex analític.

  • Signes vocàlics i interlineat. Els signes vocàlics d'un text vocalitzat (fatḥa, kasra, shadda, tanwīn, l'alif volat, els signes alcorànics) s'apilen sobre i sota les lletres, a l'interlineat, que no creix per ells. Cada línia amb signes anota fins on arriba la seva tinta (VDTLine.markInk), i el retall de columna dels renderitzadors inclou els signes de la primera i l'última línia de cada columna. Quan un signe sobre una paraula toca les lletres o els signes que pengen sota la paraula de sobre, la composició avisa del paràgraf (arabicMarksExceedLeading, al tauler Revisió del Sandbox). Només es comparen paraules que estan una sobre l'altra. El text vocalitzat en part demana uns 1,7–1,85 em de lineHeight, i el vers vocalitzat del tot 1,9–2,1 em.
  • Èmfasi. La lletra àrab no té cursiva, així que en un document el locale del qual s'escriu en alfabet àrab *…* es compon per defecte en negreta (bodyText.emphasis: 'auto'). 'color' el compon en rodona amb italicColor, i 'overline' traça una ratlla per sobre de les paraules, el khaṭṭ fawqī dels llibres àrabs. L'ajust abasta tot text compost amb les fonts del cos: paràgrafs, llistes, cites, estils de paràgraf, cos dels requadres, notes i encapçalaments. Els peus, les cel·les de taula, l'índex general i l'índex analític conserven els seus propis ajustos de cursiva. Es triï el que es triï, el motor no inclina mai lletres àrabs: les paraules àrabs d'un tram en cursiva van en rodona i les seves paraules llatines conserven la cursiva. En un document així, les cites van en rodona per defecte.
  • Tashkīl. bodyText.tashkil: 'strip' treu els signes vocàlics i alcorànics del text que es compon, per a una edició sense vocals feta a partir d'una font vocalitzada: fatḥa, ḍamma, kasra i els seus tanwīn, sukūn, shadda, l'alif volat (هٰذا passa a هذا) i els signes U+0656–U+065F i U+06D6–U+06ED. 'strip-vowels' conserva la shadda, tal com la imprimeixen la majoria dels llibres moderns. La hamza i la madda es queden (أ إ آ són lletres, també teclejades amb signes combinants). La font conserva els seus signes; les línies, els encapçalaments i l'índex general es componen sense aquests signes, i cada caràcter compost continua apuntant al seu lloc a la font.
  • Notes a peu de pàgina. footnotes.markerTemplate: '({n})' escriu les crides «(١)» amb les xifres del document, numbering: 'page' les reinicia a cada pàgina i noteNumberPosition: 'inline' posa sobre la línia el número de la nota. El filet separador i els números de nota queden al principi de la columna, a la dreta en un llibre de dreta a esquerra.
  • Paraules senceres. Una paraula amb una lletra de l'alfabet àrab no es parteix, no es talla ni s'espaia mai, en un llibre àrab o citada en un altre. Un estil que posa letterSpacing a un text àrab s'avisa (joiningScriptLetterSpacing), i una paraula més ampla que la seva línia la desborda i s'avisa (unbreakableWordOverflow). Vegeu Composició àrab.
  • Caixida i vers. Una línia àrab justificada s'estira amb caixides a més dels espais (bodyText.kashida, vegeu Caixida en el text àrab), i un poema clàssic es compon un bayt per línia en dos hemistiquis d'una mateixa amplada amb :::verse (vegeu :::verse).
  • Índex analític. Un índex en àrab ordena alfabèticament i no té en compte l'article ال (index.ignoreArticle), els signes vocàlics ni els suports de la hamza; vegeu Índex analític.