Google’s Noto fonts sampled

Noto fonts sampler

Google’s free Noto fonts cover many scripts defined in Unicode.

Here’s a detail of some of them.

Random letters:

mulyilang

The code (can be automated via the datatools package, a CSV file with the names in it, and a loop):

 

% distribution = texlive2018

% compiler = xelatex

\documentclass[12pt]{article}

\usepackage{fontspec}

\usepackage{xcolor}

\newcommand\ascale{1.5}

\newfontface\verd[Colour=blue]{Verdana}

\newfontface\fad[Scale=\ascale]{Noto Sans Adlam}

\newfontface\fana{Noto Sans Anatolian Hieroglyphs}

\newfontface\fara[Scale=\ascale]{Noto Sans Arabic}

\newfontface\farm[Scale=\ascale]{Noto Sans Armenian}

\newfontface\fave[Scale=\ascale]{Noto Sans Avestan}

\newfontface\fbal[Scale=\ascale]{Noto Sans Balinese}

\newfontface\fbam[Scale=\ascale]{Noto Sans Bamum}

\newfontface\fbat[Scale=\ascale]{Noto Sans Batak}

\newfontface\fben[Scale=\ascale]{Noto Sans Bengali}

\newfontface\fbra[Scale=\ascale]{Noto Sans Brahmi}

\newfontface\fbug[Scale=\ascale]{Noto Sans Buginese}

\newfontface\fbuh[Scale=\ascale]{Noto Sans Buhid}

\newfontface\fcan[Scale=\ascale]{Noto Sans Canadian Aboriginal}

\newfontface\fcar[Scale=\ascale]{Noto Sans Carian}

\newfontface\fchak[Scale=\ascale]{Noto Sans Chakma}

\newfontface\fcham[Scale=\ascale]{Noto Sans Cham}

\newfontface\fche[Scale=\ascale]{Noto Sans Cherokee}

\newfontface\fcjkja[Scale=\ascale]{Noto Sans CJK JP Regular}

\newfontface\fcjkkr[Scale=\ascale]{Noto Sans CJK KR Regular}

\newfontface\fcjksc[Scale=\ascale]{Noto Sans CJK SC Regular}

\newfontface\fcjktc[Scale=\ascale]{Noto Sans CJK TC Regular}

\newfontface\fcop[Scale=\ascale]{Noto Sans Coptic}

\newfontface\fcun[Scale=\ascale]{Noto Sans Cuneiform}

\newfontface\fcyp[Scale=\ascale]{Noto Sans Cypriot}

\newfontface\fdes[Scale=\ascale]{Noto Sans Deseret}

\newfontface\fdev[Scale=\ascale]{Noto Sans Devanagari}

\newfontface\fegy[Scale=\ascale]{Noto Sans Egyptian Hieroglyphs}

\newfontface\feth[Scale=\ascale]{Noto Sans Ethiopic}

\newfontface\fgeo[Scale=\ascale]{Noto Sans Georgian}

\newfontface\fgla[Scale=\ascale]{Noto Sans Glagolitic}

\newfontface\fgot[Scale=\ascale]{Noto Sans Gothic}

\newfontface\fguj[Scale=\ascale]{Noto Sans Gujarati}

\newfontface\fgur[Scale=\ascale]{Noto Sans Gurmukhi}

\newfontface\fhan[Scale=\ascale]{Noto Sans Hanunoo}

\newfontface\fheb[Scale=\ascale]{Noto Sans Hebrew}

\newfontface\fimp[Scale=\ascale]{Noto Sans Imperial Aramaic}

\newfontface\fins[Scale=\ascale]{Noto Sans Inscriptional Pahlavi}

\newfontface\fjav[Scale=\ascale]{Noto Sans Javanese}

\newfontface\fkai[Scale=\ascale]{Noto Sans Kaithi}

\newfontface\fkan[Scale=\ascale]{Noto Sans Kannada}

\newfontface\fkay[Scale=\ascale]{Noto Sans Kayah Li}

\newfontface\fkha[Scale=\ascale]{Noto Sans Kharoshthi}

\newfontface\fkhm[Scale=\ascale]{Noto Sans Khmer}

\newfontface\flao[Scale=\ascale]{Noto Sans Lao}

\newfontface\flep[Scale=\ascale]{Noto Sans Lepcha}

\newfontface\flim[Scale=\ascale]{Noto Sans Limbu}

\newfontface\flinb[Scale=\ascale]{Noto Sans Linear B}

\newfontface\flis[Scale=\ascale]{Noto Sans Lisu}

\newfontface\flyc[Scale=\ascale]{Noto Sans Lycian}

\newfontface\flyd[Scale=\ascale]{Noto Sans Lydian}

\newfontface\fmal[Scale=\ascale]{Noto Sans Malayalam}

\newfontface\fman[Scale=\ascale]{Noto Sans Mandaic}

\newfontface\fmee[Scale=\ascale]{Noto Sans Meetei Mayek}

\newfontface\fmon[Scale=\ascale]{Noto Sans Mongolian}

\newfontface\fmya[Scale=\ascale]{Noto Sans Myanmar}

\newfontface\fmya[Scale=\ascale]{Noto Sans Myanmar}

\newfontface\fmya[Scale=\ascale]{Noto Sans Myanmar}

\newfontface\fnew[Scale=\ascale]{Noto Sans New Tai Lue}

\newfontface\fnko[Scale=\ascale]{Noto Sans NKo}

\newfontface\fogh[Scale=\ascale]{Noto Sans Ogham}

\newfontface\folx[Scale=\ascale]{Noto Sans Ol Chiki}

\newfontface\foldi[Scale=\ascale]{Noto Sans Old Italic}

\newfontface\foldp[Scale=\ascale]{Noto Sans Old Persian}

\newfontface\folds[Scale=\ascale]{Noto Sans Old South Arabian}

\newfontface\foldt[Scale=\ascale]{Noto Sans Old Turkic}

\newfontface\fori[Scale=\ascale]{Noto Sans Oriya}

\newfontface\fosa[Scale=\ascale]{Noto Sans Osage}

\newfontface\fosm[Scale=\ascale]{Noto Sans Osmanya}

\newfontface\fpha[Scale=\ascale]{Noto Sans Phags Pa}

\newfontface\fpho[Scale=\ascale]{Noto Sans Phoenician}

\newfontface\frej[Scale=\ascale]{Noto Sans Rejang}

\newfontface\frun[Scale=\ascale]{Noto Sans Runic}

\newfontface\fsam[Scale=\ascale]{Noto Sans Samaritan}

\newfontface\fsau[Scale=\ascale]{Noto Sans Saurashtra}

\newfontface\fsin[Scale=\ascale]{Noto Sans Sinhala}

\newfontface\fsun[Scale=\ascale]{Noto Sans Sundanese}

\newfontface\fsyl[Scale=\ascale]{Noto Sans Syloti Nagri}

\newfontface\fsyre[Scale=\ascale]{Noto Sans Syriac Eastern}

\newfontface\fsyrs[Scale=\ascale]{Noto Sans Syriac Estrangela}

\newfontface\fsyrw[Scale=\ascale]{Noto Sans Syriac Western}

\newfontface\ftaga[Scale=\ascale]{Noto Sans Tagalog}

\newfontface\ftagb[Scale=\ascale]{Noto Sans Tagbanwa}

\newfontface\ftail[Scale=\ascale]{Noto Sans Tai Le}

\newfontface\ftait[Scale=\ascale]{Noto Sans Tai Tham}

\newfontface\ftaiv[Scale=\ascale]{Noto Sans Tai Viet}

\newfontface\ftam[Scale=\ascale]{Noto Sans Tamil}

\newfontface\ftel[Scale=\ascale]{Noto Sans Telugu}

\newfontface\fthaa[Scale=\ascale]{Noto Sans Thaana}

\newfontface\fthai[Scale=\ascale]{Noto Sans Thai}

\newfontface\ftib[Scale=\ascale]{Noto Sans Tibetan}

\newfontface\ftif[Scale=\ascale]{Noto Sans Tifinagh}

\newfontface\fuga[Scale=\ascale]{Noto Sans Ugaritic}

\newfontface\fvai[Scale=\ascale]{Noto Sans Vai}

\newfontface\fyi[Scale=\ascale]{Noto Sans Yi}

\newfontface\fnsans[Scale=\ascale]{Noto Sans}

\newfontface\fphad[Scale=\ascale]{Noto Sans Symbols}

\newfontface\fsarm[Scale=\ascale,Colour=red]{Noto Serif Armenian}

\newfontface\fsben[Scale=\ascale,Colour=red]{Noto Serif Bengali}

\newfontface\fscjk[Scale=\ascale,Colour=red]{Noto Serif CJK JP}

\newfontface\fscjk[Scale=\ascale,Colour=red]{Noto Serif CJK SC}

\newfontface\fscjk[Scale=\ascale,Colour=red]{Noto Serif CJK TC}

\newfontface\fsdev[Scale=\ascale,Colour=red]{Noto Serif Devanagari}

\newfontface\fseth[Scale=\ascale,Colour=red]{Noto Serif Ethiopic}

\newfontface\fsgeo[Scale=\ascale,Colour=red]{Noto Serif Georgian}

\newfontface\fsguj[Scale=\ascale,Colour=red]{Noto Serif Gujarati}

\newfontface\fsheb[Scale=\ascale,Colour=red]{Noto Serif Hebrew}

\newfontface\fskan[Scale=\ascale,Colour=red]{Noto Serif Kannada}

\newfontface\fskhm[Scale=\ascale,Colour=red]{Noto Serif Khmer}

\newfontface\fslao[Scale=\ascale,Colour=red]{Noto Serif Lao}

\newfontface\fsmal[Scale=\ascale,Colour=red]{Noto Serif Malayalam}

\newfontface\fsmya[Scale=\ascale,Colour=red]{Noto Serif Myanmar}

\newfontface\fssin[Scale=\ascale,Colour=red]{Noto Serif Sinhala}

\newfontface\fstam[Scale=\ascale,Colour=red]{Noto Serif Tamil}

\newfontface\fstel[Scale=\ascale,Colour=red]{Noto Serif Telugu}

\newfontface\fstha[Scale=\ascale,Colour=red]{Noto Serif Thai}

\newfontface\fnserif[Scale=\ascale,Colour=red]{Noto Serif}

\usepackage{graphicx}

\usepackage{bidi}

\begin{document}

\section{Scripts -- in Noto fonts}

Sans-serif fonts are in \textbf{black}, serif fonts are in {\color{red}\textbf{red}}.

\vskip2em

\verd

{\fad \RTL{\verd Adlam} 𞤵𞤥𞤕 𞤂𞤒𞤢𞤲𞥂𞤅 }

\verd Anatolian Hieroglyphs {\fana 𔐁𔐒𔐢𔐳𔑳𔑫𔑺𔐺}

{\fara {\RTL {\verd Arabic} ببب طشس} }

Armenian {\farm ԳՃՔդճւ}

Armenian {\fsarm ԳՃՔդճւ}

{\fave \RTL {\verd Avestan} 𐬃𐬓𐬢𐬡𐬠}

Balinese {\fbal ᬔᬤᬥᬳᭃᬒ}

Bamum {\fbam ꚤꚴꛄꛓꛂꛈꛁꛌ}

Batak {\fbat ᯅᯕᯥᯣᯢᯡ}

Bengali {\fben অকথৌণী}

Bengali {\fsben অকথৌণী}

Brahmi {\fbra 𑀄𑀔𑀤𑀥𑀖𑀇𑀘𑀠}

Buginese {\fbug ᨃᨓᨔᨕᨅᨆᨖ}

Buhid {\fbuh ᝃᝄᝆᝇᝉᝊᝋ}

\vskip1em

Unified Canadian Aboriginal {\fcan ᐂᐒᐲᐴᐗᐉᑙ}

Carian {\fcar 𐊠𐊡𐊢𐊣𐊤𐊥𐊦𐊧𐊨𐊩}

Chakma {\fchak 𑄃𑄄𑄅𑄆𑄧𑄦𑄨𑄥𑄫}

Chan {\fcham ꨃꨓꨱꨣꨴꨖꨶꨈ}

Cherokee {\fche ᎣᎳᏂᏄᏇᎸᎧ}

CJK Japanese {\fcjkja 日本語ぶブロック}

CJK JP {\fscjk 日本語ぶブロック}

CJK Korean {\fcjkkr ᄆᄖᄗᄘᄒᄲ}

CJK Chinese Simplified Characters {\fcjksc 马闺镚}

CJK SC {\fscjk 马闺镚}

CJK Chinese Traditional Characters {\fcjktc 馬閨鏰聾論女戀 }

CJK TC {\fscjk 馬閨鏰聾論女戀}

Deseret {\fdes 𐐵𐐥𐐔𐐳𐑄𐐗𐐙𐐙𐐨𐐪𐐺𐐻}

Devanagari {\fdev ऄपॉतुळॅ}

Devanagari {\fsdev ऄपॉतुळॅ}

Egyptian Hieroglyphs {\fegy 𓀂𓁢𓁽𓂘𓃈𓃧 }

Ethiopic {\feth ሀሁሑሡሲቓ}

Ethiopic {\fseth ሀሁሑሡሲቓ}

Georgian {\fgeo Ⴀგდფჳჲლ}

Georgian {\fsgeo Ⴀგდფჳჲლ}

Glagolitic {\fgla ⰁⰂⰴⰵⰥⱇⰙ}

Gothic {\fgot 𐌰𐌱𐌲𐌳𐌴𐌵𐌶𐌷}

Gujarati {\fguj અખૉધેસૄણૈપિ}

Gujarati {\fsguj અખૉધેસૄણૈપિ}

Gurmukhi {\fgur ਅਛੋਹੈਧਤੀਭਾ}

Hanunoo {\fhan ᜢᜣᜦᜨᜩᜪᜫᜬ}

{\fheb \RTL {\verd Hebrew} אבגדהוז}

{\fsheb \RTL {\verd Hebrew} אבגדהוז}

{\fimp\RTL {\verd Imperial Aramaic}𐡀𐡁𐡂𐡃𐡄𐡅𐡆}

{\fins \RTL {\verd Inscriptional Pahlavi} 𐭠𐭡𐭢𐭣𐭤𐭥𐭦}

Javanese {\fjav ꦆꦖꦦꦶꦥꦵꦤ꦳}

Kaithi {\fkai 𑂄𑂕𑂥𑂷𑂧𑂳𑂇𑂲}

Kannada {\fkan ಅಥಽಷೈಪೌ}

Kannada {\fskan ಅಥಽಷೈಪೌ}

Kayah Li {\fkay ꤂ꤒꤓꤧꤗꤨꤙꤩ꤇꤈}

Kharoshthi {\fkha 𐨢𐨳𐨤𐨖𐨌𐨝𐨭}

Khmer {\fkhm កខើរឿឪឫឺឣ}

Khmer {\fskhm កខើរឿឪឫឺឣ}

Lao {\flao ຄດຣິຢໄວຽມະ}

Lao {\fslao ຄດຣິຢໄວຽມະ}

Lepcha {\flep ᰃᰓᰔᰄᰕᰈ}

Limbu {\flim ᤀᤔᤴᤕᤥᤓᤲᤘᤉᤈ}

Linear B {\flinb 𐀂𐀒𐀢𐀤𐁉𐀊}

Lisu {\flis ꓐꓑꓒꓓꓔꓕꓖ}

Lycian {\flyc 𐊀𐊁𐊂𐊃𐊄𐊅𐊆}

{\flyd \RTL {\verd Lydian} 𐤠𐤡𐤢𐤣𐤤𐤥𐤦}

Malayalam {\fmal അകഥൃത്ഗസ}

Malayalam {\fsmal അകഥൃത്ഗസ}

{\fman \RTL {\verd Mandaic} ࡀࡁࡂࡃࡄࡅࡆ }

Meetei Mayek {\fmee ꯁꯂꯃꯤꯕꯥꯖꯦꯢ}

Mongolian \rotatebox{-90}{\fmon { ᠥᠦᠧᠨ}}

Myanmar {\fmya ကခဂဃဵါဇးဠ }

Myanmar {\fsmya ကခဂဃဵါဇးဠ}

New Tai Lue {\fnew ᦀᦁᦐᦩᦙᦇᦅ}

{\fnko \RTL {\verd NKo} ߁߂߃ߓߕ߆߇}

Ogham {\fogh ᚇᚌᚃᚉᚎᚁ}

Ol Chiki {\folx ᱑᱒᱓ᱣᱤᱥ᱖}

Old Italic {\foldi 𐌀𐌁𐌂𐌃𐌄𐌅𐌆𐌆𐌇}

Old Persian {\foldp 𐎠𐎡𐎲𐎳𐎴𐎥𐎧}

{\folds \RTL {\verd Old South Arabian} 𐩡𐩢𐩣𐩤𐩥𐩦𐩧 }

{\foldt \RTL {\verd Old Turkic} 𐰀𐰁𐰂𐰃𐰒𐰄𐰅𐰆 }

Oriya {\fori ଅକଥ଼ତୃଗି}

Osage {\fosa 𐒰𐒱𐓁𐓱𐓳𐓤𐓨𐓜}

Osmanya {\fosm 𐒀𐒁𐒂𐒃𐒄𐒅𐒆}

Phags Pa \rotatebox{-90}{\fpha ꡀꡁꡂꡃꡄꡅ}

Phaistos Disc {\fphad 𐇐𐇑𐇒𐇓𐇔𐇕𐇖𐇗𐇘𐇙𐇚𐇛}

{\fpho \RTL {\verd Phoenician} 𐤀𐤁𐤂𐤃𐤄𐤅𐤆}

Rejang {\frej ꤰꤱꤲꤳꤴꤵꤶ}

Runic {\frun ᚠᚢᚦᚨᚬᚱᚳ}

{\fsam \RTL {\verd Samaritan} ࠀࠁࠂࠃࠄࠅࠆ }

Saurashtra {\fsau ꢂꢒꢢꢣꢳꢴꢖ}

Sinhala {\fsin ඔපඕඅඅශවැශා}

Sinhala {\fssin ඔපඕඅඅශවැශා}

Sundanese {\fsun ᮃᮄᮅᮆᮇᮗᮈ}

Syloti Nagri {\fsyl ꠇꠉꠙꠧꠗꠥꠔꠤ}

{\fsyre \RTL {\verd Syriac Eastern} ܐܒܓܕܥܤܨܨ}

{\fsyrs \RTL {\verd Syriac Estrangela} ܐܒܓܕܥܤܨܨ}

{\fsyrw \RTL {\verd Syriac Western} ܐܒܓܕܥܤܨܨ}

Tagalog {\ftaga ᜀᜁᜂᜃᜄᜅᜆ}

Tagbanwa {\ftagb ᝠᝡᝧᝦᝤᝪᝫ}

Tai Le {\ftail ᥐᥑᥒᥓᥤᥔᥢᥗ}

Tai Tham {\ftait ᨠᨡᩂᨳᩤᩅᩢᩑᩁ}

Tai Viet {\ftaiv ꪀꪁꪑꪢꪤꪳꪠꪱꪅꪵ}

Tamil {\ftam அகதழொஈஇ}

Tamil {\fstam அகதழொஈஇ}

Telugu {\ftel అఔఴెశో}

Telugu {\fstel అఔఴెశో}

{\fthaa \RTL {\verd Thaana} ހށނޓޤވމިޘު}

Thai {\fthai กขฃำคุจง}

Thai {\fstha กขฃำคุจง}

Tibetan {\ftib ཀདཱིགྷཱུཅཆཹཧ}

Tifinagh {\ftif ⴲⴵⴷⴸⴺⵊⵖⵖ}

Ugaritic {\fuga 𐎀𐎁𐎂𐎃𐎄𐎅𐎖}

Vai {\fvai ꔀꔐꔡꕃꕖꕊꔘ}

Yi {\fyi ꀀꀐꀢꁪꃪꃧ}

\section{General}

Cyrillic {\fnsans АБВГДЕЖ абвгдеж}

Cyrillic {\fnserif АБВГДЕЖ абвгдеж}

Greek {\fnsans ΑΒΓΔΕΖ αβγδεζ}

Greek {\fnserif ΑΒΓΔΕΖ αβγδεζ}

Roman {\fnsans ABCDEF abcdef}

Roman {\fnserif ABCDEF abcdef}

\end{document}
Advertisements

Woodblock emulation

Latex: Can do

Latex.

The moral of the story, in the Tex/Latex/Xelatex world, is that it is solvable.

Given the traditional Chinese woodblock printing style, from top-down, right-to-left, the typesetting algorithm puzzle to solve is: given a string of characters, what is the formula for sequentially printing them Chinese-style into a w x h grid starting from the top left corner as column 1 row 1?

Answer: (w – c) * h + r

The symmetry group is almost quark-like if a third dimension were to be added.

 

vzh3a

Conjecture: Any (ordered) arrangement of locations, whether characters on a page, vertices in a crystal, or gluons in a glob, would have the same underlying mathematics.

 

The TBRL result, using the Chinese Wikipedia article on the star Achernar (水委一, shuǐ wěi yī) as an excerpt source (mid-March 2018 version; it has since been edited), is:

vz1JPG

River End Prime is a …”

Obviously, the next step is that punctuation etc needs to be made auto-adjusting, but that is solvable too.

It’s all in the formula.

 

vz0

 

 

 

 

Mayan is doable in Latex

Typesetting Glyphs In Mayan

Mayan is doable, in Latex, using MayaPS.

Because Postscript is doing the glyph layout algorithm based on DVI output and bitmap fonts, the compilation sequence is multi-step:

  • latex filename (produces dvi file)
  • dvips filename (produces ps file)
  • pkfix filename.ps filenameo.ps (converts bitmap fonts)
  • ps2pdf filenameo (produces pdf file).

 

 

mayan

Example tex code:

\documentclass{article}
\input mayaps
\input mpfmap
\input red89

\begin{document}
\section{Mayan}
\mayaFont\codex=codex
\mayaFont\th=thompson
\mayaFont\ga=gates
%\mayaGlyphInLineC

\maya{213} + \maya{219} = \maya{213:219}

\maya{545} + \maya{546} = \maya{545:546}

\maya{023:023:415.130:176}

\maya{|(1A.[r]123):T1}

\mayaRGB{0 0 0.8}c \mayaRGB{0.9 0.6 0}{orange}
\maya{451.452orange 026.(314/314)c (570/014‘r.267.024)c}

\maya{T520} \th \maya{T520} \maya{T520} \codex \maya{T520}

gates
{ \ga \maya{T520} \maya{T520} } \maya{T520}
 \maya{(023.153.023):220}
 
 codex
{ \codex \maya{T520} \maya{T520} } \maya{T520}
 \maya{(023.153.023):220}
 
 thompson
{ \th \maya{T520} \maya{T520} } \maya{T520}
 \maya{(023.153.023):220}
 \par \noindent\mayaC{ % \mayaC = glyphs with captions
 451.452 026.314/(314) 111.274 047.276/010 913 810
 451.452 026.314/(314) 570/014.267.024 111.+176/111 913 810
 451.452 026.314/(314) 245.234 026.172/0 23 913 810}
\mayaGlyph{422.422}

\par xxx
\codex 
\mayaGlyph{900r} \maya{072:107} versus \maya{072.107}

\end{document}

The writers of the package expect less than 100 users worldwide.

I’m perhaps more optimistic.

Vertical

Using TeX for vertical typesetting

TeX is very good at horizontal typesetting, and can even do quite good vertical typesetting by the knack of using fonts with rotateable glyphs,  setting the page with its usual glue and stretchable spaces, then rotating the entire page 90 degrees.

Doing vertical typesetting by hand, so to speak, should also be possible.

Here follows an attempt:

Draw  a grid, then position the characters by trial-and-error adjustments:

vertical1

with code like this:

 

\draw[step=\dunit, color=blue]{ (0,0) grid (8,12)};
\node at (8-0.40,12-0.40) {\huge\ver\char”5647};
\node at (8-0.40,11-0.20) {\huge\ver\char”5648};
\node at (8-0.40,10-0.05) {\color{red}\huge\ver\char”5F48};
\node at (8-0.40,9+0.15) {\huge\ver\char”5748};
\node at (8-0.40,8+0.35) {\huge\ver\char”5848};

When finished, draw the grid in white, say, to get:

vertical2

It would be more convenient to have all the adjustments and positioning built-in, so to speak, and that can be done in the Tikz package by naming the text nodes methodically and then populating them (manually at first, later by a macro loop):

 

\node at (letters.center 14 12){\rotatebox[origin=c]{-90}{\huge\ver\char”300E}};
\node at (letters.center 14 11){\huge\ver 他};
\node at (letters.center 14 10){\huge\ver 们};
\node at (letters.center 14 9){\huge\ver 是};

but a square grid, rather than a rectangular one, is assumed:

vertical3

If each square is defined as a set of four sub-quadratures, and inter-column spacing were a parameter relative to font size, with subsequent headings, margin notes, and so on, much could be done.

The quest continues.

 

Little Lorem

Random characters from a specific script

Place-filling text (lorem ipsum) to give an idea of what a page layout would look like has a long pedigree and TeX can do it well.

Sometimes an idea of what characters in a specific script would look like is also needed.

textlipsum

Here’s some TeX code for that (it started off as displaying random Chinese characters [by egreg on stackexchange in 2011], but has been expanded to handle any Unicode block as requested):

%Random text by script

\documentclass[a4paper]{article}

%\errorcontextlines 10000 %for getting fuller error messages

\usepackage{geometry}

\geometry{margin=2cm,heightrounded}

\usepackage{fontspec}

\setmainfont{Cambria}

\usepackage{xcolor}

\usepackage{soul}

\input{random}

\newcount\cjkcharcnt

%\random=3

%-------------------------- customised section:

% Yi block

\newcommand\yistartc{"A000}

\newcommand\yistopc{"A48C}

% Linear A block

\newcommand\linastartc{"10600}

\newcommand\linastopc{"10726}

% Linear B syllabary block

\newcommand\linbsstartc{"10000}

\newcommand\linbsstopc{"1005D}

% Linear B ideograms block

\newcommand\linbistartc{"10080}

\newcommand\linbistopc{"100FA}

% Vai block

\newcommand\vaistartc{"A500}

\newcommand\vaistopc{"A62B}

% Miscsellaneous symbols, emoticons, etc blocks

\newcommand\iconstartc{"1F300}

\newcommand\iconstopc{"1F6D2}

% Tangut Components block

\newcommand\tangutcomstartc{"18800}

\newcommand\tangutcomstopc{"18AF2}

% Tangut block

\newcommand\tangutstartc{"17000}

\newcommand\tangutstopc{"187EC}

% Bamum block

\newcommand\bamumstartc{"16800}

\newcommand\bamumstopc{"16A38}

% Anatolian hieroglyphs block

\newcommand\anatolianstartc{"14400}

\newcommand\anatolianstopc{"14646}

% Egyptian hieroglyphs block

\newcommand\egyptianstartc{"13000}

\newcommand\egyptianstopc{"1342E}

% CJK part block

\newcommand\cjkstartc{"4E00}

\newcommand\cjkstopc{"9FBB}

% Phaistos Disc block

\newcommand\phaistosstartc{"101D0}

\newcommand\phaistosstopc{"101FD}

%Cuneiform block

\newcommand\cuneiformstartc{"12000}

\newcommand\cuneiformstopc{"12399}

%

\newcounter{startc}

\newcounter{stopc}

%--------------------------------------------------------------------

% url= https://tex.stackexchange.com/questions/20409/how-to-create-a-table-of-random-characters-in-xetex

% question = How to create a table of random characters in XeTeX:

% "I want to create a table of 1000 characters picked randomly from the unicode block "unified CJK ideograms" (4E00-9FFF). Each cell should contain exactly one huge character, no character should appear twice."

% answer = answered Jun 10 '11 at 16:18 by egreg

\newif\ifshownumbers

\def\cjkchar{\setrannum{\cjkcharcnt}{\thestartc}{\thestopc}%

\ifcsname CJK\the\cjkcharcnt\endcsname

\message{Recomputing (collision)}\let\next\cjkchar

\else

\expandafter\let\csname CJK\the\cjkcharcnt\endcsname\empty

\ifshownumbers{\footnotesize(\number\cjkcharcnt) }\fi

\ifnum\XeTeXcharglyph\cjkcharcnt=00

\message{Recomputing (missing character)}\let\next\cjkchar

\else

\char\cjkcharcnt\let\next\relax

\fi

\fi

\next}

\newcommand{\row}{\hbox to\hsize{%

\cjkchar\hfil\cjkchar\hfil\cjkchar\hfil\cjkchar\hfil\cjkchar\hfil

\ifshownumbers\else

\cjkchar\hfil\cjkchar\hfil\cjkchar\hfil\cjkchar\hfil\cjkchar\hfil

\cjkchar\hfil\cjkchar\hfil\cjkchar\hfil\cjkchar\hfil\cjkchar\hfil

\fi

\cjkchar\hfil\cjkchar\hfil\cjkchar\hfil\cjkchar\hfil\cjkchar}}

%----------------------------------------------------------

%Parameters:

%scriptname, fontname, startcharactervalue, stopcharactervalue

\newcommand\dosample[4]{%

\newfontface\ver{#2}

\setcounter{startc}{#3}

\setcounter{stopc}{#4}

\section{#1}

This is a sample of #1 (in \hl{\texttt{#2}} font): \par

{\huge \ver \row\row\row}

}

%----------------------------------------------------------

\begin{document}

\tableofcontents

%\shownumberstrue % uncomment to show (decimal) numbers

\dosample{Yi}{Noto Sans Yi}{\yistartc}{\yistopc}

\dosample{Linear A}{Aegean}{\linastartc}{\linastopc}

\dosample{Vai}{Dukor}{\vaistartc}{\vaistopc}

\dosample{Icons etc}{Code2003}{\iconstartc}{\iconstopc}

\dosample{Tangut Components}{Tangut Yinchuan}{\tangutcomstartc}{\tangutcomstopc}

\dosample{Tangut}{Tangut Yinchuan}{\tangutstartc}{\tangutstopc}

\dosample{Bamum}{Noto Sans Bamum}{\bamumstartc}{\bamumstopc}

\dosample{Anatolian hieroglyphs}{Anatolian}{\anatolianstartc}{\anatolianstopc}

\dosample{Egyptian hierglyphs}{Aegyptus}{\egyptianstartc}{\egyptianstopc}

\dosample{CJK ideographs}{SimSun}{\cjkstartc}{\cjkstopc}

\dosample{Linear B syllabary}{Aegean}{\linbsstartc}{\linbsstopc}

\dosample{Linear B ideograms}{Aegean}{\linbistartc}{\linbistopc}

\dosample{Phaistos Disc}{Aegean}{\phaistosstartc}{\phaistosstopc}

\dosample{Cuneiform}{Akkadian}{\cuneiformstartc}{\cuneiformstopc}

%\row\row\row\row\row\row\row

%\row\row\row\row\row\row\row\row\row\row

%\row\row\row\row\row\row\row\row\row\row

%\row\row\row\row\row\row\row\row\row\row

%\row\row\row\row\row\row\row\row\row\row

%\ifshownumbers

% \row\row\row\row\row\row\row\row\row\row

% \row\row\row\row\row\row\row\row\row\row

% \row\row\row\row\row\row\row\row\row\row

% \row\row\row\row\row\row\row\row\row\row

% \row\row\row\row\row\row\row\row\row\row

%\fi

\end{document}

wú and mu

无 and 無

Looking up 无 in a Japanese dictionary was never going to work, but it took a few moments to work that out.

无 (pronounced wú, meaning nothing) is a simplified Chinese character. The traditional form, 無, is in Japanese (and pronounced む mu). A good way to remember it is as a sheaf of wheat sitting on the fire, becoming nothing pretty quickly. It functions much like the Greek privative a-, like a general-purpose un– or non-.

Luckily, the free Unicode text editor app, BabelPad, can convert between Simplified and Traditional.

Problem solved.

Reading and Writing

Easy on the eye/hand

If there was a writing system, with all the letters (let’s assume an alphabetic system) similar to each other, the word shapes would be strenuous to discern from each other.

Example:

fsame

(A simplistic substitution-cipher for: ‘The cat sat on the mat and the quick brown fox jumps over the lazy dog.’, using various i and t glyphs, and one or two l’s, down at the Latin supplement end of things.)

 

Where the letter shapes are less similar, it becomes slightly easier to recognise word shapes:

 

fdifferent

(Same cipher, using random letters from random scripts.)

 

By comparison, cursive writing, Russian-style, in English:

fdifferent2

and in Russian (from the beginning of the Wikipedia article on the solar system):

 

fdifferent2a

 

The conjecture arises that a similar shape-recognition process could be in play for concepts, where nearby concepts on the concept spectrum are interchangeable with each other.

 

Certainly, a linguistic similarity causes confusion: year versus light-year, Acacia versus Cassia, Lake Constance versus Lake Mungo, etc. And across languages, too, as the false-friends of the translator’s world testify.

Contrariwise, a linguistic difference should make it easy to classify two things as different when they are not (barring some familiarity with the subject matter and a binding classification scheme): up and down (quarks); duck and dodo (birds).

And a third variation tries to make two different things the same by calling them by the same (or similar) names.

Scriptwriters have an increasing tendency of late, presumably from copying each other, of having their characters say: “It’s only circumstantial”, meaning that the evidence at that stage of the plot development is not strong enough to present a case in court and so the hero has to do something more hero-y to obtain it.  In real life, anything that is not direct testimony (from a witness) and which proves another fact that goes to the charge is circumstantial evidence (evidence from the surrounding circumstances, such as the presence of DNA) and is often much stronger than direct evidence. Circumstantial evidence is entirely the opposite of ‘only circumstantial’.