summaryrefslogtreecommitdiff
path: root/tex/context/modules/mkiv/s-fonts-overlay.mkiv
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2018-04-02 16:25:10 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2018-04-02 16:25:10 +0200
commit15ab7c153a96a9befc4e2c1774e701f3c941cc2d (patch)
tree4262a9085036949283dd3e56d992111a9745c680 /tex/context/modules/mkiv/s-fonts-overlay.mkiv
parent37c561c2f98d84fc02011b7b819ae8cf9bb4b10d (diff)
downloadcontext-15ab7c153a96a9befc4e2c1774e701f3c941cc2d.tar.gz
2018-04-02 15:51:00
Diffstat (limited to 'tex/context/modules/mkiv/s-fonts-overlay.mkiv')
-rw-r--r--tex/context/modules/mkiv/s-fonts-overlay.mkiv107
1 files changed, 107 insertions, 0 deletions
diff --git a/tex/context/modules/mkiv/s-fonts-overlay.mkiv b/tex/context/modules/mkiv/s-fonts-overlay.mkiv
new file mode 100644
index 000000000..fccc977d4
--- /dev/null
+++ b/tex/context/modules/mkiv/s-fonts-overlay.mkiv
@@ -0,0 +1,107 @@
+%D \module
+%D [ file=s-fonts-overlay,
+%D version=2018.03.25,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Show Glyph Similarity,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+% begin info
+%
+% title : overlay glyphs in fonts
+%
+% comment : show glyphs in two fonts
+% status : experimental, used for font feature development
+%
+% end info
+
+%D This module is for Luigi/Idris as part of the Husayni development where the
+%D gpos pair, single, mark and cursive features are just linear transformations.
+
+\startmodule[fonts-coverage]
+
+\unprotect
+
+\definecolor[ColorOne][r=1,t=.5,a=1]
+\definecolor[ColorTwo][b=1,t=.5,a=1]
+
+\startluacode
+ moduledata.fonts = moduledata.fonts or { }
+ moduledata.fonts.overlay = moduledata.fonts.overlay or { }
+
+ function moduledata.fonts.overlay(id)
+ for k, v in table.sortedhash(fonts.hashes.identifiers[id or true].characters) do
+ context.showoverlayedglyphs(k)
+ end
+ end
+\stopluacode
+
+\starttexdefinition unexpanded showoverlayedglyphs#1
+ \startTEXpage[offset=.25\scratchdimentwo,height=10\scratchdimentwo,width=4\scratchdimenone]
+ \ruledhbox to \hsize\bgroup
+ \hss
+ \FontOne\setstrut\strut\showglyphs
+ \startoverlay
+ {\ColorOne\ruledhbox{\FontOne\char#1}}
+ {\ColorTwo\ruledhbox{\FontTwo\char#1}}
+ \stopoverlay
+ \hss
+ \egroup
+ \vfill
+ \dontleavehmode
+ \hbox to \hsize\bgroup
+ \hss
+ \infofont0x\uchexnumbers{#1}
+ \hss
+ \egroup
+ \stopTEXpage
+\stoptexdefinition
+
+\starttexdefinition unexpanded showoverlayedfonts[#1]
+ \start
+ \getdummyparameters[\c!list=,#1]
+ \doifsomething {\dummyparameter\c!list} {
+ \page
+ \getfromcommacommand[\dummyparameter\c!list][1]\let\NameOne\commalistelement
+ \getfromcommacommand[\dummyparameter\c!list][2]\let\NameTwo\commalistelement
+ \definefont[FontOne][\NameOne]
+ \definefont[FontTwo][\NameTwo]
+ \FontOne\expandafter\edef\expandafter\OneID\expandafter{\number\fontid\font}%
+ \FontTwo\expandafter\edef\expandafter\TwoID\expandafter{\number\fontid\font}%
+ \scratchdimenone\emwidth
+ \scratchdimentwo\exheight
+ \ctxlua{moduledata.fonts.overlay(\OneID)}%
+ \page
+ % \startTEXpage[offset=.25\scratchdimentwo,height=10\scratchdimentwo,width=4\scratchdimenone]
+ % \vfill
+ % \hbox to \hsize{\ColorOne\infofont\hss\OneN\hss}
+ % \vfill
+ % \hbox to \hsize{\ColorTwo\infofont\hss\TwoN\hss}
+ % \vfill
+ % \stopTEXpage
+ % \page
+ }
+ \stop
+\stoptexdefinition
+
+\protect
+
+\stopmodule
+
+\continueifinputfile{s-fonts-overlay.mkiv}
+
+\starttext
+
+% \showoverlayedfonts
+% [list={file:husayni-script-regular.ttf @ 48.0pt,
+% file:husayni-note-bold.ttf @ 34.2pt}] % 34.18726pt
+
+ \showoverlayedfonts
+ [list={Serif,SerifBold}]
+
+\stoptext