diff options
author | Karl Berry <karl@freefriends.org> | 2021-03-06 21:58:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-03-06 21:58:15 +0000 |
commit | 974640d66e61e81cb197ad96fdff7b08343e4c5a (patch) | |
tree | 2e1f75f32f312b7f24ba82b4590ae230bcd6f399 /Master/texmf-dist/metapost/context/base/mpxl/mp-miss.mpxl | |
parent | b4fa72e61230aca75f7f6fbf988821f71edfb6b2 (diff) |
context
git-svn-id: svn://tug.org/texlive/trunk@58167 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/metapost/context/base/mpxl/mp-miss.mpxl')
-rw-r--r-- | Master/texmf-dist/metapost/context/base/mpxl/mp-miss.mpxl | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Master/texmf-dist/metapost/context/base/mpxl/mp-miss.mpxl b/Master/texmf-dist/metapost/context/base/mpxl/mp-miss.mpxl new file mode 100644 index 00000000000..0788fece4ca --- /dev/null +++ b/Master/texmf-dist/metapost/context/base/mpxl/mp-miss.mpxl @@ -0,0 +1,68 @@ +%D \module +%D [ file=mp-miss.mpiv, +%D version=2021.02.01, +%D title=\CONTEXT\ \METAPOST\ graphics, +%D subtitle=missing glyphs, +%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. + +if known metafun_loaded_miss : endinput ; fi ; + +newinternal boolean metafun_loaded_miss ; metafun_loaded_miss := true ; immutable metafun_loaded_miss ; + +picture MissingSnippets[][]; + +vardef MissingGlyphSymbol(expr w, h, d) = + image ( + draw (0,-d)--(w,-d)--(w,h)--(0,h)--cycle ; + if d <> 0 : draw (0,0)--(w,0) ; + ) +enddef ; + +vardef MissingLowercase = image ( draw MissingGlyphSymbol(.45, .55, .20) scaled 1000 ; ) enddef ; +vardef MissingUppercase = image ( draw MissingGlyphSymbol(.65, .70, .25) scaled 1000 ; ) enddef ; +vardef MissingMark = image ( draw MissingGlyphSymbol(.15, .70, -.50) scaled 1000 ; ) enddef ; +vardef MissingPunctuation = image ( draw MissingGlyphSymbol(.15, .55, .20) scaled 1000 ; ) enddef ; +vardef MissingUnknown = image ( draw MissingGlyphSymbol(.45, .20, 0) scaled 1000 ; ) enddef ; + +% vardef MissingGlyph = +% pickup pencircle scaled 0.05 ; +% composeglyph(MissingSnippets[getparameterdefault "mpsfont" "namespace" 1]) ; +% enddef ; + +vardef MissingGlyph = + save u ; u := getparameterdefault "mpsfont" "unicode" 1; + save s ; s := getparameterdefault "mpsfont" "scale" 1 ; + save n ; n := getparameterdefault "mpsfont" "namespace" 1 ; + save i ; i := getparameterdefault "mpsfont" "slant" 0 ; + save w ; w := getparameterdefault "mpsfont" "weight" 1 ; + pickup pencircle scaled (0.05 * w) ; + MissingSnippets[n][u] := image ( + draw scantokens ( getparameter "mpsfont" "shapes" (1) "shape" ) + withcolor getparameter "mpsfont" "shapes" (1) "color" + ) scaled s slanted i ; + registercomposedglyph(u, MissingSnippets[n]) ; +enddef ; + +lmt_registerglyphs [ + name = "missing", + units = 1000, + width = 100, + height = 100, + depth = 0, +] ; + +% we need to set up some basics (signals to the backend and such) at definition +% time so we just force a bogus shape (zero) + +lmt_registerglyph [ + category = "missing", +] ; + +permanent MissingSnippets, MissingGlyphSymbol, MissingLowercase, MissingUppercase, + MissingMark, MissingPunctuation, MissingUnknown, MissingGlyph ; |