summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-01-17 23:55:48 +0000
committerKarl Berry <karl@freefriends.org>2010-01-17 23:55:48 +0000
commitacd348131221ef4a967e6584a1bf898c4402471b (patch)
tree4dccf1d055551b368078a515fa00f777b6e990ed /Master/texmf-dist/fonts
parent1f5d5aecc9a0afaf88d196f4957d29cad92603b3 (diff)
new package knitting 1.0 (17jan10)
git-svn-id: svn://tug.org/texlive/trunk@16764 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts')
-rw-r--r--Master/texmf-dist/fonts/afm/public/knitting/knitgg.afm253
-rw-r--r--Master/texmf-dist/fonts/afm/public/knitting/knitgn.afm252
-rw-r--r--Master/texmf-dist/fonts/afm/public/knitting/knitgp.afm251
-rw-r--r--Master/texmf-dist/fonts/afm/public/knitting/knitnl.afm145
-rw-r--r--Master/texmf-dist/fonts/afm/public/knitting/knitnn.afm145
-rw-r--r--Master/texmf-dist/fonts/afm/public/knitting/knitnp.afm143
-rw-r--r--Master/texmf-dist/fonts/afm/public/knitting/knitnr.afm145
-rw-r--r--Master/texmf-dist/fonts/afm/public/knitting/knitwg.afm253
-rw-r--r--Master/texmf-dist/fonts/afm/public/knitting/knitwn.afm252
-rw-r--r--Master/texmf-dist/fonts/afm/public/knitting/knitwp.afm251
-rw-r--r--Master/texmf-dist/fonts/map/dvips/knitting/knitfont.map13
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knit_dimens.mf100
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knit_grid_cables.mf572
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knit_nogrid_cables.mf386
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knit_symbols.mf930
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knitgg.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knitgn.mf22
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knitgp.mf21
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knitnl.mf25
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knitnn.mf19
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knitnp.mf22
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knitnr.mf25
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knitwg.mf22
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knitwn.mf22
-rw-r--r--Master/texmf-dist/fonts/source/public/knitting/knitwp.mf22
-rw-r--r--Master/texmf-dist/fonts/tfm/public/knitting/knitgg.tfmbin0 -> 2120 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/knitting/knitgn.tfmbin0 -> 2120 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/knitting/knitgp.tfmbin0 -> 2120 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/knitting/knitnl.tfmbin0 -> 996 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/knitting/knitnn.tfmbin0 -> 996 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/knitting/knitnp.tfmbin0 -> 732 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/knitting/knitnr.tfmbin0 -> 996 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/knitting/knitwg.tfmbin0 -> 2092 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/knitting/knitwn.tfmbin0 -> 2092 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/knitting/knitwp.tfmbin0 -> 2092 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/knitting/knitgg.pfbbin0 -> 42700 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/knitting/knitgn.pfbbin0 -> 39245 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/knitting/knitgp.pfbbin0 -> 20686 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/knitting/knitnl.pfbbin0 -> 38288 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/knitting/knitnn.pfbbin0 -> 38328 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/knitting/knitnp.pfbbin0 -> 14730 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/knitting/knitnr.pfbbin0 -> 38439 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/knitting/knitwg.pfbbin0 -> 40931 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/knitting/knitwn.pfbbin0 -> 39470 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/knitting/knitwp.pfbbin0 -> 19691 bytes
45 files changed, 4312 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/afm/public/knitting/knitgg.afm b/Master/texmf-dist/fonts/afm/public/knitting/knitgg.afm
new file mode 100644
index 00000000000..db766b56323
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/knitting/knitgg.afm
@@ -0,0 +1,253 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20070915
+Comment Creation Date: Sat Jan 16 18:33:18 2010
+FontName KnittingSymbols-grid-grid-Medium
+FullName KnittingSymbols-grid-grid
+FamilyName KnittingSymbols-grid-grid
+Weight Medium
+Notice (Font converted to Type 1 by mf2pt1, written by Scott Pakin.)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox -35 -293 7215 937
+CapHeight 937
+XHeight 937
+Ascender 937
+Descender -293
+StartCharMetrics 231
+C 0 ; WX 1204 ; N grave ; B -15 -293 1215 937 ;
+C 1 ; WX 1204 ; N acute ; B -15 -293 1215 937 ;
+C 2 ; WX 1204 ; N circumflex ; B -15 -293 1215 937 ;
+C 3 ; WX 1204 ; N tilde ; B -15 -293 1215 937 ;
+C 4 ; WX 1204 ; N dieresis ; B -15 -293 1215 937 ;
+C 5 ; WX 1204 ; N hungarumlaut ; B -15 -293 1215 937 ;
+C 6 ; WX 0 ; N ring ; B -15 -293 15 937 ;
+C 17 ; WX 1204 ; N quotedblright ; B -15 -293 1215 937 ;
+C 18 ; WX 1204 ; N quotedblbase ; B -15 -293 1215 937 ;
+C 19 ; WX 1204 ; N guillemotleft ; B 50 -114 960 757 ;
+C 20 ; WX 1204 ; N guillemotright ; B -15 -293 1215 937 ;
+C 21 ; WX 1204 ; N endash ; B -15 -293 1215 937 ;
+C 22 ; WX 602 ; N emdash ; B 0 -293 600 937 ;
+C 23 ; WX 1204 ; N compwordmark ; B -15 -293 1215 937 ;
+C 24 ; WX 1204 ; N perthousandzero ; B -15 -293 1215 937 ;
+C 25 ; WX 602 ; N dotlessi ; B -15 -293 600 937 ;
+C 26 ; WX 602 ; N dotlessj ; B 0 -293 615 937 ;
+C 27 ; WX 602 ; N ff ; B -15 -293 600 937 ;
+C 28 ; WX 602 ; N fi ; B 0 -293 615 937 ;
+C 29 ; WX 1204 ; N fl ; B 0 -293 1200 937 ;
+C 30 ; WX 1204 ; N ffi ; B 0 -293 1200 937 ;
+C 31 ; WX 6022 ; N ffl ; B -15 -293 6015 937 ;
+C 33 ; WX 1204 ; N exclam ; B -15 -293 1215 937 ;
+C 34 ; WX 1204 ; N quotedbl ; B 240 -114 1150 757 ;
+C 39 ; WX 602 ; N quoteright ; B 0 0 0 0 ;
+C 40 ; WX 1204 ; N parenleft ; B -15 -293 1215 937 ;
+C 41 ; WX 1204 ; N parenright ; B -15 -293 1215 937 ;
+C 42 ; WX 1204 ; N asterisk ; B -15 -293 1215 937 ;
+C 43 ; WX 1204 ; N plus ; B -15 -293 1215 937 ;
+C 44 ; WX 1204 ; N comma ; B -15 -293 1215 937 ;
+C 45 ; WX 1204 ; N hyphen ; B -15 -293 1215 937 ;
+C 46 ; WX 1204 ; N period ; B -15 -293 1215 937 ;
+C 47 ; WX 1204 ; N slash ; B -15 -293 1215 937 ;
+C 49 ; WX 1204 ; N one ; B -15 -293 1215 937 ;
+C 50 ; WX 1204 ; N two ; B -15 -293 1215 937 ;
+C 51 ; WX 1204 ; N three ; B -15 -293 1215 937 ;
+C 52 ; WX 1204 ; N four ; B -15 -293 1215 937 ;
+C 53 ; WX 1204 ; N five ; B -15 -293 1215 937 ;
+C 58 ; WX 1204 ; N colon ; B -15 -293 1215 937 ;
+C 59 ; WX 1204 ; N semicolon ; B -15 -293 1215 937 ;
+C 60 ; WX 1204 ; N less ; B -15 -293 1215 937 ;
+C 61 ; WX 1204 ; N equal ; B -15 -293 1215 937 ;
+C 62 ; WX 1204 ; N greater ; B -15 -293 1215 937 ;
+C 63 ; WX 1204 ; N question ; B -15 -293 1215 937 ;
+C 64 ; WX 1204 ; N at ; B -15 -293 1215 937 ;
+C 65 ; WX 1204 ; N A ; B -15 -293 1215 937 ;
+C 66 ; WX 1204 ; N B ; B -15 -293 1215 937 ;
+C 67 ; WX 1204 ; N C ; B -15 -293 1215 937 ;
+C 68 ; WX 1204 ; N D ; B -15 -293 1215 937 ;
+C 69 ; WX 1204 ; N E ; B 210 -68 990 712 ;
+C 70 ; WX 1204 ; N F ; B -35 287 1235 622 ;
+C 71 ; WX 1204 ; N G ; B -15 -293 1215 937 ;
+C 72 ; WX 1204 ; N H ; B -15 -293 1215 937 ;
+C 73 ; WX 1204 ; N I ; B -15 -293 1215 937 ;
+C 74 ; WX 1204 ; N J ; B -15 -293 1215 937 ;
+C 75 ; WX 1204 ; N K ; B -15 -293 1215 937 ;
+C 76 ; WX 1204 ; N L ; B -15 -293 1215 937 ;
+C 77 ; WX 1204 ; N M ; B -15 -293 1215 937 ;
+C 78 ; WX 1204 ; N N ; B -15 -293 1215 937 ;
+C 79 ; WX 1204 ; N O ; B -15 -293 1215 937 ;
+C 80 ; WX 1204 ; N P ; B -15 -293 1215 937 ;
+C 81 ; WX 1204 ; N Q ; B -15 -293 1215 937 ;
+C 82 ; WX 1204 ; N R ; B -15 -293 1215 937 ;
+C 83 ; WX 1204 ; N S ; B -15 -293 1215 937 ;
+C 84 ; WX 1204 ; N T ; B -15 -293 1215 937 ;
+C 85 ; WX 1204 ; N U ; B -35 22 1235 622 ;
+C 86 ; WX 1204 ; N V ; B -15 -293 1215 937 ;
+C 87 ; WX 1204 ; N W ; B -15 -293 1215 937 ;
+C 88 ; WX 1204 ; N X ; B -15 -293 1215 937 ;
+C 89 ; WX 1204 ; N Y ; B -15 -293 1215 937 ;
+C 90 ; WX 1204 ; N Z ; B -15 -293 1215 937 ;
+C 91 ; WX 1204 ; N bracketleft ; B -15 -293 1215 937 ;
+C 93 ; WX 1204 ; N bracketright ; B -15 -293 1215 937 ;
+C 96 ; WX 602 ; N quoteleft ; B 0 0 0 0 ;
+C 97 ; WX 1204 ; N a ; B -15 -293 1215 937 ;
+C 98 ; WX 1204 ; N b ; B -15 -293 1215 937 ;
+C 99 ; WX 1204 ; N c ; B -15 -293 1215 937 ;
+C 100 ; WX 1204 ; N d ; B -15 -293 1215 937 ;
+C 101 ; WX 1204 ; N e ; B -15 -293 1215 937 ;
+C 102 ; WX 1204 ; N f ; B -35 287 1235 622 ;
+C 103 ; WX 1204 ; N g ; B -15 -293 1215 937 ;
+C 104 ; WX 1204 ; N h ; B -15 -293 1215 937 ;
+C 105 ; WX 1204 ; N i ; B -15 -293 1215 937 ;
+C 106 ; WX 1204 ; N j ; B -15 -293 1215 937 ;
+C 107 ; WX 1204 ; N k ; B -15 -293 1215 937 ;
+C 108 ; WX 1204 ; N l ; B -15 -293 1215 937 ;
+C 109 ; WX 1204 ; N m ; B -15 -293 1215 937 ;
+C 110 ; WX 1204 ; N n ; B -15 -293 1215 937 ;
+C 111 ; WX 1204 ; N o ; B -15 -293 1215 937 ;
+C 112 ; WX 1204 ; N p ; B -15 -293 1215 937 ;
+C 113 ; WX 1204 ; N q ; B -15 -293 1215 937 ;
+C 114 ; WX 1204 ; N r ; B -15 -293 1215 937 ;
+C 115 ; WX 1204 ; N s ; B -15 -293 1215 937 ;
+C 116 ; WX 1204 ; N t ; B -15 -293 1215 937 ;
+C 117 ; WX 1204 ; N u ; B -15 -293 1215 937 ;
+C 118 ; WX 1204 ; N v ; B -15 -293 1215 937 ;
+C 119 ; WX 1204 ; N w ; B -15 -293 1215 937 ;
+C 120 ; WX 1204 ; N x ; B -15 -293 1215 937 ;
+C 121 ; WX 1204 ; N y ; B -15 -293 1215 937 ;
+C 122 ; WX 1204 ; N z ; B -15 -293 1215 937 ;
+C 124 ; WX 151 ; N bar ; B 0 0 0 0 ;
+C 126 ; WX 1204 ; N asciitilde ; B 0 0 0 0 ;
+C 127 ; WX 1204 ; N hyphen ; B -15 -293 1215 937 ;
+C 128 ; WX 2409 ; N Abreve ; B -15 -293 2415 937 ;
+C 129 ; WX 2409 ; N Aogonek ; B -15 -293 2415 937 ;
+C 130 ; WX 2409 ; N Cacute ; B -15 -293 2415 937 ;
+C 131 ; WX 2409 ; N Ccaron ; B -15 -293 2415 937 ;
+C 132 ; WX 3613 ; N Dcaron ; B -15 -293 3615 937 ;
+C 133 ; WX 3613 ; N Ecaron ; B -15 -293 3615 937 ;
+C 134 ; WX 3613 ; N Eogonek ; B -15 -293 3615 937 ;
+C 135 ; WX 3613 ; N Gbreve ; B -15 -293 3615 937 ;
+C 136 ; WX 2409 ; N Lacute ; B -15 -293 2415 937 ;
+C 137 ; WX 2409 ; N Lcaron ; B -15 -293 2415 937 ;
+C 138 ; WX 2409 ; N Lslash ; B -15 -293 2415 937 ;
+C 139 ; WX 2409 ; N Nacute ; B -15 -293 2415 937 ;
+C 140 ; WX 2409 ; N Ncaron ; B -15 -293 2415 937 ;
+C 141 ; WX 2409 ; N Eng ; B -15 -293 2415 937 ;
+C 142 ; WX 2409 ; N Odblacute ; B -15 -293 2415 937 ;
+C 143 ; WX 2409 ; N Racute ; B -15 -293 2415 937 ;
+C 144 ; WX 2409 ; N Rcaron ; B -15 -293 2415 937 ;
+C 145 ; WX 2409 ; N Sacute ; B -15 -293 2415 937 ;
+C 146 ; WX 2409 ; N Scaron ; B -15 -293 2415 937 ;
+C 147 ; WX 2409 ; N Scedilla ; B -15 -293 2415 937 ;
+C 148 ; WX 3613 ; N Tcaron ; B -15 -293 3615 937 ;
+C 149 ; WX 3613 ; N Tcedilla ; B -15 -293 3615 937 ;
+C 150 ; WX 3613 ; N Udblacute ; B -15 -293 3615 937 ;
+C 151 ; WX 3613 ; N Uring ; B -15 -293 3615 937 ;
+C 152 ; WX 3613 ; N Ydieresis ; B -15 -293 3615 937 ;
+C 153 ; WX 3613 ; N Zacute ; B -15 -293 3615 937 ;
+C 154 ; WX 3613 ; N Zcaron ; B -15 -293 3615 937 ;
+C 155 ; WX 3613 ; N Zdot ; B -15 -293 3615 937 ;
+C 156 ; WX 3613 ; N IJ ; B -15 -293 3615 937 ;
+C 157 ; WX 3613 ; N Idot ; B -15 -293 3615 937 ;
+C 158 ; WX 3613 ; N dmacron ; B -15 -293 3615 937 ;
+C 159 ; WX 3613 ; N section ; B -15 -293 3615 937 ;
+C 160 ; WX 3613 ; N abreve ; B -15 -293 3615 937 ;
+C 161 ; WX 3613 ; N aogonek ; B -15 -293 3615 937 ;
+C 162 ; WX 3613 ; N cacute ; B -15 -293 3615 937 ;
+C 163 ; WX 3613 ; N ccaron ; B -15 -293 3615 937 ;
+C 164 ; WX 4818 ; N dcaron ; B -15 -293 4815 937 ;
+C 165 ; WX 4818 ; N ecaron ; B -15 -293 4815 937 ;
+C 166 ; WX 4818 ; N eogonek ; B -15 -293 4815 937 ;
+C 167 ; WX 4818 ; N gbreve ; B -15 -293 4815 937 ;
+C 168 ; WX 4818 ; N lacute ; B -15 -293 4815 937 ;
+C 169 ; WX 4818 ; N lcaron ; B -15 -293 4815 937 ;
+C 170 ; WX 4818 ; N lslash ; B -15 -293 4815 937 ;
+C 171 ; WX 4818 ; N nacute ; B -15 -293 4815 937 ;
+C 172 ; WX 4818 ; N ncaron ; B -15 -293 4815 937 ;
+C 173 ; WX 4818 ; N eng ; B -15 -293 4815 937 ;
+C 174 ; WX 4818 ; N odblacute ; B -15 -293 4815 937 ;
+C 175 ; WX 4818 ; N racute ; B -15 -293 4815 937 ;
+C 176 ; WX 3613 ; N rcaron ; B -15 -293 3615 937 ;
+C 177 ; WX 3613 ; N sacute ; B -15 -293 3615 937 ;
+C 178 ; WX 3613 ; N scaron ; B -15 -293 3615 937 ;
+C 179 ; WX 3613 ; N scedilla ; B -15 -293 3615 937 ;
+C 180 ; WX 3613 ; N tcaron ; B -15 -293 3615 937 ;
+C 181 ; WX 3613 ; N tcedilla ; B -15 -293 3615 937 ;
+C 182 ; WX 3613 ; N udblacute ; B -15 -293 3615 937 ;
+C 183 ; WX 3613 ; N uring ; B -15 -293 3615 937 ;
+C 184 ; WX 3613 ; N ydieresis ; B -15 -293 3615 937 ;
+C 185 ; WX 3613 ; N zacute ; B -15 -293 3615 937 ;
+C 186 ; WX 3613 ; N zcaron ; B -15 -293 3615 937 ;
+C 187 ; WX 3613 ; N zdot ; B -15 -293 3615 937 ;
+C 188 ; WX 4818 ; N ij ; B -15 -293 4815 937 ;
+C 189 ; WX 4818 ; N exclamdown ; B -15 -293 4815 937 ;
+C 190 ; WX 4818 ; N questiondown ; B -15 -293 4815 937 ;
+C 191 ; WX 4818 ; N sterling ; B -15 -293 4815 937 ;
+C 192 ; WX 4818 ; N Agrave ; B -15 -293 4815 937 ;
+C 193 ; WX 4818 ; N Aacute ; B -15 -293 4815 937 ;
+C 194 ; WX 4818 ; N Acircumflex ; B -15 -293 4815 937 ;
+C 195 ; WX 4818 ; N Atilde ; B -15 -293 4815 937 ;
+C 196 ; WX 4818 ; N Adieresis ; B -15 -293 4815 937 ;
+C 197 ; WX 4818 ; N Aring ; B -15 -293 4815 937 ;
+C 198 ; WX 4818 ; N AE ; B -15 -293 4815 937 ;
+C 199 ; WX 4818 ; N Ccedilla ; B -15 -293 4815 937 ;
+C 200 ; WX 6022 ; N Egrave ; B -15 -293 6015 937 ;
+C 201 ; WX 6022 ; N Eacute ; B -15 -293 6015 937 ;
+C 202 ; WX 6022 ; N Ecircumflex ; B -15 -293 6015 937 ;
+C 203 ; WX 6022 ; N Edieresis ; B -15 -293 6015 937 ;
+C 204 ; WX 7227 ; N Igrave ; B -15 -293 7215 937 ;
+C 205 ; WX 7227 ; N Iacute ; B -15 -293 7215 937 ;
+C 206 ; WX 7227 ; N Icircumflex ; B -15 -293 7215 937 ;
+C 207 ; WX 7227 ; N Idieresis ; B -15 -293 7215 937 ;
+C 208 ; WX 6022 ; N Eth ; B -15 -293 6015 937 ;
+C 209 ; WX 6022 ; N Ntilde ; B -15 -293 6015 937 ;
+C 210 ; WX 6022 ; N Ograve ; B -15 -293 6015 937 ;
+C 211 ; WX 6022 ; N Oacute ; B -15 -293 6015 937 ;
+C 212 ; WX 6022 ; N Ocircumflex ; B -15 -293 6015 937 ;
+C 213 ; WX 6022 ; N Otilde ; B -15 -293 6015 937 ;
+C 214 ; WX 6022 ; N Odieresis ; B -15 -293 6015 937 ;
+C 215 ; WX 6022 ; N OE ; B -15 -293 6015 937 ;
+C 216 ; WX 6022 ; N Oslash ; B -15 -293 6015 937 ;
+C 217 ; WX 6022 ; N Ugrave ; B -15 -293 6015 937 ;
+C 218 ; WX 6022 ; N Uacute ; B -15 -293 6015 937 ;
+C 219 ; WX 6022 ; N Ucircumflex ; B -15 -293 6015 937 ;
+C 220 ; WX 4818 ; N Udieresis ; B -15 -293 4815 937 ;
+C 221 ; WX 4818 ; N Yacute ; B -15 -293 4815 937 ;
+C 222 ; WX 4818 ; N Thorn ; B -15 -293 4815 937 ;
+C 223 ; WX 4818 ; N Germandbls ; B -15 -293 4815 937 ;
+C 224 ; WX 4818 ; N agrave ; B -15 -293 4815 937 ;
+C 225 ; WX 4818 ; N aacute ; B -15 -293 4815 937 ;
+C 226 ; WX 4818 ; N acircumflex ; B -15 -293 4815 937 ;
+C 227 ; WX 4818 ; N atilde ; B -15 -293 4815 937 ;
+C 228 ; WX 4818 ; N adieresis ; B -15 -293 4815 937 ;
+C 229 ; WX 4818 ; N aring ; B -15 -293 4815 937 ;
+C 230 ; WX 4818 ; N ae ; B -15 -293 4815 937 ;
+C 231 ; WX 4818 ; N ccedilla ; B -15 -293 4815 937 ;
+C 232 ; WX 6022 ; N egrave ; B -15 -293 6015 937 ;
+C 233 ; WX 6022 ; N eacute ; B -15 -293 6015 937 ;
+C 234 ; WX 6022 ; N ecircumflex ; B -15 -293 6015 937 ;
+C 235 ; WX 6022 ; N edieresis ; B -15 -293 6015 937 ;
+C 236 ; WX 6022 ; N igrave ; B -15 -293 6015 937 ;
+C 237 ; WX 6022 ; N iacute ; B -15 -293 6015 937 ;
+C 238 ; WX 6022 ; N icircumflex ; B -15 -293 6015 937 ;
+C 239 ; WX 6022 ; N idieresis ; B -15 -293 6015 937 ;
+C 240 ; WX 6022 ; N eth ; B -15 -293 6015 937 ;
+C 241 ; WX 6022 ; N ntilde ; B -15 -293 6015 937 ;
+C 242 ; WX 6022 ; N ograve ; B -15 -293 6015 937 ;
+C 243 ; WX 6022 ; N oacute ; B -15 -293 6015 937 ;
+C 244 ; WX 7227 ; N ocircumflex ; B -15 -293 7215 937 ;
+C 245 ; WX 7227 ; N otilde ; B -15 -293 7215 937 ;
+C 246 ; WX 7227 ; N odieresis ; B -15 -293 7215 937 ;
+C 247 ; WX 7227 ; N oe ; B -15 -293 7215 937 ;
+C 248 ; WX 7227 ; N oslash ; B -15 -293 7215 937 ;
+C 249 ; WX 7227 ; N ugrave ; B -15 -293 7215 937 ;
+C 250 ; WX 7227 ; N uacute ; B -15 -293 7215 937 ;
+C 251 ; WX 7227 ; N ucircumflex ; B -15 -293 7215 937 ;
+C 252 ; WX 7227 ; N udieresis ; B -15 -293 7215 937 ;
+C 253 ; WX 7227 ; N yacute ; B -15 -293 7215 937 ;
+C 254 ; WX 7227 ; N thorn ; B -15 -293 7215 937 ;
+C 255 ; WX 7227 ; N germandbls ; B -15 -293 7215 937 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/knitting/knitgn.afm b/Master/texmf-dist/fonts/afm/public/knitting/knitgn.afm
new file mode 100644
index 00000000000..acef6098108
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/knitting/knitgn.afm
@@ -0,0 +1,252 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20070915
+Comment Creation Date: Sat Jan 16 18:33:15 2010
+FontName KnittingSymbols-grid-foreground-Medium
+FullName KnittingSymbols-grid-foreground
+FamilyName KnittingSymbols-grid-foreground
+Weight Medium
+Notice (Font converted to Type 1 by mf2pt1, written by Scott Pakin.)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox -35 -293 5611 937
+CapHeight 688
+XHeight 662
+Ascender 712
+StartCharMetrics 231
+C 0 ; WX 1204 ; N grave ; B 80 -198 1120 842 ;
+C 1 ; WX 1204 ; N acute ; B 265 472 935 842 ;
+C 2 ; WX 1204 ; N circumflex ; B 265 472 935 842 ;
+C 3 ; WX 1204 ; N tilde ; B 265 -198 935 172 ;
+C 4 ; WX 1204 ; N dieresis ; B 265 -198 935 172 ;
+C 5 ; WX 1204 ; N hungarumlaut ; B 0 0 0 0 ;
+C 6 ; WX 0 ; N ring ; B 0 0 0 0 ;
+C 17 ; WX 1204 ; N quotedblright ; B 0 214 1200 284 ;
+C 18 ; WX 1204 ; N quotedblbase ; B 0 214 1010 584 ;
+C 19 ; WX 1204 ; N guillemotleft ; B 50 -114 960 757 ;
+C 20 ; WX 1204 ; N guillemotright ; B 0 0 0 0 ;
+C 21 ; WX 1204 ; N endash ; B 0 0 0 0 ;
+C 22 ; WX 602 ; N emdash ; B 0 252 600 392 ;
+C 23 ; WX 1204 ; N compwordmark ; B 0 -28 1200 545 ;
+C 24 ; WX 1204 ; N perthousandzero ; B 0 -28 990 712 ;
+C 25 ; WX 602 ; N dotlessi ; B 190 252 600 842 ;
+C 26 ; WX 602 ; N dotlessj ; B 0 252 411 842 ;
+C 27 ; WX 602 ; N ff ; B 190 -198 600 392 ;
+C 28 ; WX 602 ; N fi ; B 0 -198 411 392 ;
+C 29 ; WX 1204 ; N fl ; B 0 -198 1200 392 ;
+C 30 ; WX 1204 ; N ffi ; B 0 252 1200 842 ;
+C 31 ; WX 6022 ; N ffl ; B 390 -198 5611 842 ;
+C 33 ; WX 1204 ; N exclam ; B 260 -18 940 662 ;
+C 34 ; WX 1204 ; N quotedbl ; B 240 -114 1150 757 ;
+C 39 ; WX 602 ; N quoteright ; B 0 0 0 0 ;
+C 40 ; WX 1204 ; N parenleft ; B 260 -18 900 662 ;
+C 41 ; WX 1204 ; N parenright ; B 300 -18 940 662 ;
+C 42 ; WX 1204 ; N asterisk ; B 301 -18 899 662 ;
+C 43 ; WX 1204 ; N plus ; B 0 0 0 0 ;
+C 44 ; WX 1204 ; N comma ; B 300 22 900 622 ;
+C 45 ; WX 1204 ; N hyphen ; B 0 0 0 0 ;
+C 46 ; WX 1204 ; N period ; B 300 22 900 622 ;
+C 47 ; WX 1204 ; N slash ; B 0 0 0 0 ;
+C 49 ; WX 1204 ; N one ; B 190 214 1200 584 ;
+C 50 ; WX 1204 ; N two ; B 260 -18 940 662 ;
+C 51 ; WX 1204 ; N three ; B 210 -68 950 712 ;
+C 52 ; WX 1204 ; N four ; B 263 -18 937 662 ;
+C 53 ; WX 1204 ; N five ; B 263 -18 937 662 ;
+C 58 ; WX 1204 ; N colon ; B 260 -18 900 662 ;
+C 59 ; WX 1204 ; N semicolon ; B 300 -18 940 662 ;
+C 60 ; WX 1204 ; N less ; B 300 -18 940 662 ;
+C 61 ; WX 1204 ; N equal ; B 0 0 0 0 ;
+C 62 ; WX 1204 ; N greater ; B 260 -18 900 662 ;
+C 63 ; WX 1204 ; N question ; B 210 -28 1200 712 ;
+C 64 ; WX 1204 ; N at ; B 307 29 893 615 ;
+C 65 ; WX 1204 ; N A ; B 210 -68 950 712 ;
+C 66 ; WX 1204 ; N B ; B 342 -18 858 710 ;
+C 67 ; WX 1204 ; N C ; B 0 0 0 0 ;
+C 68 ; WX 1204 ; N D ; B 0 0 0 0 ;
+C 69 ; WX 1204 ; N E ; B 210 -68 990 712 ;
+C 70 ; WX 1204 ; N F ; B -35 287 1235 622 ;
+C 71 ; WX 1204 ; N G ; B 0 0 0 0 ;
+C 72 ; WX 1204 ; N H ; B 460 -28 740 707 ;
+C 73 ; WX 1204 ; N I ; B 300 -18 964 688 ;
+C 74 ; WX 1204 ; N J ; B 236 -18 900 688 ;
+C 75 ; WX 1204 ; N K ; B 0 0 0 0 ;
+C 76 ; WX 1204 ; N L ; B 250 -68 990 712 ;
+C 77 ; WX 1204 ; N M ; B 300 112 900 532 ;
+C 78 ; WX 1204 ; N N ; B 0 0 0 0 ;
+C 79 ; WX 1204 ; N O ; B 260 -18 940 662 ;
+C 80 ; WX 1204 ; N P ; B 0 0 0 0 ;
+C 81 ; WX 1204 ; N Q ; B 342 -18 858 710 ;
+C 82 ; WX 1204 ; N R ; B 210 -68 950 712 ;
+C 83 ; WX 1204 ; N S ; B 215 182 950 462 ;
+C 84 ; WX 1204 ; N T ; B 342 -65 858 662 ;
+C 85 ; WX 1204 ; N U ; B -35 22 1235 622 ;
+C 86 ; WX 1204 ; N V ; B 260 -18 940 662 ;
+C 87 ; WX 1204 ; N W ; B 210 -68 990 712 ;
+C 88 ; WX 1204 ; N X ; B 342 -65 858 662 ;
+C 89 ; WX 1204 ; N Y ; B 210 -68 990 712 ;
+C 90 ; WX 1204 ; N Z ; B 120 -158 1080 802 ;
+C 91 ; WX 1204 ; N bracketleft ; B 211 110 1024 534 ;
+C 93 ; WX 1204 ; N bracketright ; B 176 110 989 534 ;
+C 96 ; WX 602 ; N quoteleft ; B 0 0 0 0 ;
+C 97 ; WX 1204 ; N a ; B 210 -68 990 712 ;
+C 98 ; WX 1204 ; N b ; B 342 -18 858 710 ;
+C 99 ; WX 1204 ; N c ; B 0 0 0 0 ;
+C 100 ; WX 1204 ; N d ; B 0 0 0 0 ;
+C 101 ; WX 1204 ; N e ; B 0 0 0 0 ;
+C 102 ; WX 1204 ; N f ; B -35 287 1235 622 ;
+C 103 ; WX 1204 ; N g ; B 0 0 0 0 ;
+C 104 ; WX 1204 ; N h ; B 460 -63 740 672 ;
+C 105 ; WX 1204 ; N i ; B 300 -18 964 688 ;
+C 106 ; WX 1204 ; N j ; B 236 -18 900 688 ;
+C 107 ; WX 1204 ; N k ; B 0 0 0 0 ;
+C 108 ; WX 1204 ; N l ; B 210 -68 990 712 ;
+C 109 ; WX 1204 ; N m ; B 300 112 900 532 ;
+C 110 ; WX 1204 ; N n ; B 0 0 0 0 ;
+C 111 ; WX 1204 ; N o ; B 0 0 0 0 ;
+C 112 ; WX 1204 ; N p ; B 0 0 0 0 ;
+C 113 ; WX 1204 ; N q ; B 342 -18 858 710 ;
+C 114 ; WX 1204 ; N r ; B 210 -68 990 712 ;
+C 115 ; WX 1204 ; N s ; B 250 182 985 462 ;
+C 116 ; WX 1204 ; N t ; B 342 -65 858 662 ;
+C 117 ; WX 1204 ; N u ; B 263 -18 937 662 ;
+C 118 ; WX 1204 ; N v ; B 260 -18 940 662 ;
+C 119 ; WX 1204 ; N w ; B 210 -68 990 712 ;
+C 120 ; WX 1204 ; N x ; B 342 -65 858 662 ;
+C 121 ; WX 1204 ; N y ; B 263 -18 937 662 ;
+C 122 ; WX 1204 ; N z ; B 250 -28 950 672 ;
+C 124 ; WX 151 ; N bar ; B 0 -293 150 937 ;
+C 126 ; WX 1204 ; N asciitilde ; B 0 0 0 0 ;
+C 127 ; WX 1204 ; N hyphen ; B 0 0 0 0 ;
+C 128 ; WX 2409 ; N Abreve ; B 0 0 0 0 ;
+C 129 ; WX 2409 ; N Aogonek ; B 0 0 0 0 ;
+C 130 ; WX 2409 ; N Cacute ; B 0 0 0 0 ;
+C 131 ; WX 2409 ; N Ccaron ; B 0 0 0 0 ;
+C 132 ; WX 3613 ; N Dcaron ; B 0 0 0 0 ;
+C 133 ; WX 3613 ; N Ecaron ; B 0 0 0 0 ;
+C 134 ; WX 3613 ; N Eogonek ; B 0 0 0 0 ;
+C 135 ; WX 3613 ; N Gbreve ; B 0 0 0 0 ;
+C 136 ; WX 2409 ; N Lacute ; B 0 0 0 0 ;
+C 137 ; WX 2409 ; N Lcaron ; B 0 0 0 0 ;
+C 138 ; WX 2409 ; N Lslash ; B 0 0 0 0 ;
+C 139 ; WX 2409 ; N Nacute ; B 0 0 0 0 ;
+C 140 ; WX 2409 ; N Ncaron ; B 0 0 0 0 ;
+C 141 ; WX 2409 ; N Eng ; B 0 0 0 0 ;
+C 142 ; WX 2409 ; N Odblacute ; B 0 0 0 0 ;
+C 143 ; WX 2409 ; N Racute ; B 0 0 0 0 ;
+C 144 ; WX 2409 ; N Rcaron ; B 0 0 0 0 ;
+C 145 ; WX 2409 ; N Sacute ; B 0 0 0 0 ;
+C 146 ; WX 2409 ; N Scaron ; B 0 0 0 0 ;
+C 147 ; WX 2409 ; N Scedilla ; B 0 0 0 0 ;
+C 148 ; WX 3613 ; N Tcaron ; B 0 0 0 0 ;
+C 149 ; WX 3613 ; N Tcedilla ; B 0 0 0 0 ;
+C 150 ; WX 3613 ; N Udblacute ; B 0 0 0 0 ;
+C 151 ; WX 3613 ; N Uring ; B 0 0 0 0 ;
+C 152 ; WX 3613 ; N Ydieresis ; B 0 0 0 0 ;
+C 153 ; WX 3613 ; N Zacute ; B 0 0 0 0 ;
+C 154 ; WX 3613 ; N Zcaron ; B 0 0 0 0 ;
+C 155 ; WX 3613 ; N Zdot ; B 0 0 0 0 ;
+C 156 ; WX 3613 ; N IJ ; B 0 0 0 0 ;
+C 157 ; WX 3613 ; N Idot ; B 0 0 0 0 ;
+C 158 ; WX 3613 ; N dmacron ; B 0 0 0 0 ;
+C 159 ; WX 3613 ; N section ; B 0 0 0 0 ;
+C 160 ; WX 3613 ; N abreve ; B 0 0 0 0 ;
+C 161 ; WX 3613 ; N aogonek ; B 0 0 0 0 ;
+C 162 ; WX 3613 ; N cacute ; B 0 0 0 0 ;
+C 163 ; WX 3613 ; N ccaron ; B 0 0 0 0 ;
+C 164 ; WX 4818 ; N dcaron ; B 0 0 0 0 ;
+C 165 ; WX 4818 ; N ecaron ; B 0 0 0 0 ;
+C 166 ; WX 4818 ; N eogonek ; B 0 0 0 0 ;
+C 167 ; WX 4818 ; N gbreve ; B 0 0 0 0 ;
+C 168 ; WX 4818 ; N lacute ; B 0 0 0 0 ;
+C 169 ; WX 4818 ; N lcaron ; B 0 0 0 0 ;
+C 170 ; WX 4818 ; N lslash ; B 0 0 0 0 ;
+C 171 ; WX 4818 ; N nacute ; B 0 0 0 0 ;
+C 172 ; WX 4818 ; N ncaron ; B 0 0 0 0 ;
+C 173 ; WX 4818 ; N eng ; B 0 0 0 0 ;
+C 174 ; WX 4818 ; N odblacute ; B 0 0 0 0 ;
+C 175 ; WX 4818 ; N racute ; B 0 0 0 0 ;
+C 176 ; WX 3613 ; N rcaron ; B 0 0 0 0 ;
+C 177 ; WX 3613 ; N sacute ; B 0 0 0 0 ;
+C 178 ; WX 3613 ; N scaron ; B 0 0 0 0 ;
+C 179 ; WX 3613 ; N scedilla ; B 0 0 0 0 ;
+C 180 ; WX 3613 ; N tcaron ; B 0 0 0 0 ;
+C 181 ; WX 3613 ; N tcedilla ; B 0 0 0 0 ;
+C 182 ; WX 3613 ; N udblacute ; B 0 0 0 0 ;
+C 183 ; WX 3613 ; N uring ; B 0 0 0 0 ;
+C 184 ; WX 3613 ; N ydieresis ; B 0 0 0 0 ;
+C 185 ; WX 3613 ; N zacute ; B 0 0 0 0 ;
+C 186 ; WX 3613 ; N zcaron ; B 0 0 0 0 ;
+C 187 ; WX 3613 ; N zdot ; B 0 0 0 0 ;
+C 188 ; WX 4818 ; N ij ; B 0 0 0 0 ;
+C 189 ; WX 4818 ; N exclamdown ; B 0 0 0 0 ;
+C 190 ; WX 4818 ; N questiondown ; B 0 0 0 0 ;
+C 191 ; WX 4818 ; N sterling ; B 0 0 0 0 ;
+C 192 ; WX 4818 ; N Agrave ; B 0 0 0 0 ;
+C 193 ; WX 4818 ; N Aacute ; B 0 0 0 0 ;
+C 194 ; WX 4818 ; N Acircumflex ; B 0 0 0 0 ;
+C 195 ; WX 4818 ; N Atilde ; B 0 0 0 0 ;
+C 196 ; WX 4818 ; N Adieresis ; B 0 0 0 0 ;
+C 197 ; WX 4818 ; N Aring ; B 0 0 0 0 ;
+C 198 ; WX 4818 ; N AE ; B 0 0 0 0 ;
+C 199 ; WX 4818 ; N Ccedilla ; B 0 0 0 0 ;
+C 200 ; WX 6022 ; N Egrave ; B 0 0 0 0 ;
+C 201 ; WX 6022 ; N Eacute ; B 0 0 0 0 ;
+C 202 ; WX 6022 ; N Ecircumflex ; B 0 0 0 0 ;
+C 203 ; WX 6022 ; N Edieresis ; B 0 0 0 0 ;
+C 204 ; WX 7227 ; N Igrave ; B 0 0 0 0 ;
+C 205 ; WX 7227 ; N Iacute ; B 0 0 0 0 ;
+C 206 ; WX 7227 ; N Icircumflex ; B 0 0 0 0 ;
+C 207 ; WX 7227 ; N Idieresis ; B 0 0 0 0 ;
+C 208 ; WX 6022 ; N Eth ; B 0 0 0 0 ;
+C 209 ; WX 6022 ; N Ntilde ; B 0 0 0 0 ;
+C 210 ; WX 6022 ; N Ograve ; B 0 0 0 0 ;
+C 211 ; WX 6022 ; N Oacute ; B 0 0 0 0 ;
+C 212 ; WX 6022 ; N Ocircumflex ; B 0 0 0 0 ;
+C 213 ; WX 6022 ; N Otilde ; B 0 0 0 0 ;
+C 214 ; WX 6022 ; N Odieresis ; B 0 0 0 0 ;
+C 215 ; WX 6022 ; N OE ; B 0 0 0 0 ;
+C 216 ; WX 6022 ; N Oslash ; B 0 0 0 0 ;
+C 217 ; WX 6022 ; N Ugrave ; B 0 0 0 0 ;
+C 218 ; WX 6022 ; N Uacute ; B 0 0 0 0 ;
+C 219 ; WX 6022 ; N Ucircumflex ; B 0 0 0 0 ;
+C 220 ; WX 4818 ; N Udieresis ; B 0 0 0 0 ;
+C 221 ; WX 4818 ; N Yacute ; B 0 0 0 0 ;
+C 222 ; WX 4818 ; N Thorn ; B 0 0 0 0 ;
+C 223 ; WX 4818 ; N Germandbls ; B 0 0 0 0 ;
+C 224 ; WX 4818 ; N agrave ; B 0 0 0 0 ;
+C 225 ; WX 4818 ; N aacute ; B 0 0 0 0 ;
+C 226 ; WX 4818 ; N acircumflex ; B 0 0 0 0 ;
+C 227 ; WX 4818 ; N atilde ; B 0 0 0 0 ;
+C 228 ; WX 4818 ; N adieresis ; B 0 0 0 0 ;
+C 229 ; WX 4818 ; N aring ; B 0 0 0 0 ;
+C 230 ; WX 4818 ; N ae ; B 0 0 0 0 ;
+C 231 ; WX 4818 ; N ccedilla ; B 0 0 0 0 ;
+C 232 ; WX 6022 ; N egrave ; B 0 0 0 0 ;
+C 233 ; WX 6022 ; N eacute ; B 0 0 0 0 ;
+C 234 ; WX 6022 ; N ecircumflex ; B 0 0 0 0 ;
+C 235 ; WX 6022 ; N edieresis ; B 0 0 0 0 ;
+C 236 ; WX 6022 ; N igrave ; B 0 0 0 0 ;
+C 237 ; WX 6022 ; N iacute ; B 0 0 0 0 ;
+C 238 ; WX 6022 ; N icircumflex ; B 0 0 0 0 ;
+C 239 ; WX 6022 ; N idieresis ; B 0 0 0 0 ;
+C 240 ; WX 6022 ; N eth ; B 0 0 0 0 ;
+C 241 ; WX 6022 ; N ntilde ; B 0 0 0 0 ;
+C 242 ; WX 6022 ; N ograve ; B 0 0 0 0 ;
+C 243 ; WX 6022 ; N oacute ; B 0 0 0 0 ;
+C 244 ; WX 7227 ; N ocircumflex ; B 0 0 0 0 ;
+C 245 ; WX 7227 ; N otilde ; B 0 0 0 0 ;
+C 246 ; WX 7227 ; N odieresis ; B 0 0 0 0 ;
+C 247 ; WX 7227 ; N oe ; B 0 0 0 0 ;
+C 248 ; WX 7227 ; N oslash ; B 0 0 0 0 ;
+C 249 ; WX 7227 ; N ugrave ; B 0 0 0 0 ;
+C 250 ; WX 7227 ; N uacute ; B 0 0 0 0 ;
+C 251 ; WX 7227 ; N ucircumflex ; B 0 0 0 0 ;
+C 252 ; WX 7227 ; N udieresis ; B 0 0 0 0 ;
+C 253 ; WX 7227 ; N yacute ; B 0 0 0 0 ;
+C 254 ; WX 7227 ; N thorn ; B 0 0 0 0 ;
+C 255 ; WX 7227 ; N germandbls ; B 0 0 0 0 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/knitting/knitgp.afm b/Master/texmf-dist/fonts/afm/public/knitting/knitgp.afm
new file mode 100644
index 00000000000..815ff228cb3
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/knitting/knitgp.afm
@@ -0,0 +1,251 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20070915
+Comment Creation Date: Sat Jan 16 18:33:19 2010
+FontName KnittingSymbols-grid-purl-Medium
+FullName KnittingSymbols-grid-purl
+FamilyName KnittingSymbols-grid-purl
+Weight Medium
+Notice (Font converted to Type 1 by mf2pt1, written by Scott Pakin.)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox 0 -278 7200 922
+CapHeight 922
+Descender -278
+StartCharMetrics 231
+C 0 ; WX 1204 ; N grave ; B 0 0 0 0 ;
+C 1 ; WX 1204 ; N acute ; B 0 0 0 0 ;
+C 2 ; WX 1204 ; N circumflex ; B 0 -278 1200 922 ;
+C 3 ; WX 1204 ; N tilde ; B 0 0 0 0 ;
+C 4 ; WX 1204 ; N dieresis ; B 0 -278 1200 922 ;
+C 5 ; WX 1204 ; N hungarumlaut ; B 0 0 0 0 ;
+C 6 ; WX 0 ; N ring ; B 0 0 0 0 ;
+C 17 ; WX 1204 ; N quotedblright ; B 0 0 0 0 ;
+C 18 ; WX 1204 ; N quotedblbase ; B 0 0 0 0 ;
+C 19 ; WX 1204 ; N guillemotleft ; B 0 0 0 0 ;
+C 20 ; WX 1204 ; N guillemotright ; B 0 -278 1200 922 ;
+C 21 ; WX 1204 ; N endash ; B 0 -278 1200 922 ;
+C 22 ; WX 602 ; N emdash ; B 0 0 0 0 ;
+C 23 ; WX 1204 ; N compwordmark ; B 0 0 0 0 ;
+C 24 ; WX 1204 ; N perthousandzero ; B 0 0 0 0 ;
+C 25 ; WX 602 ; N dotlessi ; B 0 0 0 0 ;
+C 26 ; WX 602 ; N dotlessj ; B 0 0 0 0 ;
+C 27 ; WX 602 ; N ff ; B 0 0 0 0 ;
+C 28 ; WX 602 ; N fi ; B 0 0 0 0 ;
+C 29 ; WX 1204 ; N fl ; B 0 0 0 0 ;
+C 30 ; WX 1204 ; N ffi ; B 0 0 0 0 ;
+C 31 ; WX 6022 ; N ffl ; B 0 0 0 0 ;
+C 33 ; WX 1204 ; N exclam ; B 0 0 0 0 ;
+C 34 ; WX 1204 ; N quotedbl ; B 0 0 0 0 ;
+C 39 ; WX 602 ; N quoteright ; B 0 -278 600 922 ;
+C 40 ; WX 1204 ; N parenleft ; B 0 0 0 0 ;
+C 41 ; WX 1204 ; N parenright ; B 0 0 0 0 ;
+C 42 ; WX 1204 ; N asterisk ; B 0 0 0 0 ;
+C 43 ; WX 1204 ; N plus ; B 0 -278 1200 922 ;
+C 44 ; WX 1204 ; N comma ; B 0 -278 1200 922 ;
+C 45 ; WX 1204 ; N hyphen ; B 0 0 0 0 ;
+C 46 ; WX 1204 ; N period ; B 0 0 0 0 ;
+C 47 ; WX 1204 ; N slash ; B 0 -278 1200 922 ;
+C 49 ; WX 1204 ; N one ; B 0 0 0 0 ;
+C 50 ; WX 1204 ; N two ; B 0 -278 1200 922 ;
+C 51 ; WX 1204 ; N three ; B 0 -278 1200 922 ;
+C 52 ; WX 1204 ; N four ; B 0 0 0 0 ;
+C 53 ; WX 1204 ; N five ; B 0 0 0 0 ;
+C 58 ; WX 1204 ; N colon ; B 0 -278 1200 922 ;
+C 59 ; WX 1204 ; N semicolon ; B 0 -278 1200 922 ;
+C 60 ; WX 1204 ; N less ; B 0 0 0 0 ;
+C 61 ; WX 1204 ; N equal ; B 0 -278 1200 922 ;
+C 62 ; WX 1204 ; N greater ; B 0 0 0 0 ;
+C 63 ; WX 1204 ; N question ; B 0 0 0 0 ;
+C 64 ; WX 1204 ; N at ; B 0 0 0 0 ;
+C 65 ; WX 1204 ; N A ; B 0 0 0 0 ;
+C 66 ; WX 1204 ; N B ; B 0 -278 1200 922 ;
+C 67 ; WX 1204 ; N C ; B 0 0 0 0 ;
+C 68 ; WX 1204 ; N D ; B 0 0 0 0 ;
+C 69 ; WX 1204 ; N E ; B 245 -33 955 677 ;
+C 70 ; WX 1204 ; N F ; B 0 -278 1200 922 ;
+C 71 ; WX 1204 ; N G ; B 0 -278 1200 922 ;
+C 72 ; WX 1204 ; N H ; B 0 0 0 0 ;
+C 73 ; WX 1204 ; N I ; B 0 -278 1200 922 ;
+C 74 ; WX 1204 ; N J ; B 0 -278 1200 922 ;
+C 75 ; WX 1204 ; N K ; B 0 0 0 0 ;
+C 76 ; WX 1204 ; N L ; B 0 0 0 0 ;
+C 77 ; WX 1204 ; N M ; B 0 -278 1200 922 ;
+C 78 ; WX 1204 ; N N ; B 0 0 0 0 ;
+C 79 ; WX 1204 ; N O ; B 0 0 0 0 ;
+C 80 ; WX 1204 ; N P ; B 0 -278 1200 922 ;
+C 81 ; WX 1204 ; N Q ; B 0 -278 1200 922 ;
+C 82 ; WX 1204 ; N R ; B 0 0 0 0 ;
+C 83 ; WX 1204 ; N S ; B 0 0 0 0 ;
+C 84 ; WX 1204 ; N T ; B 0 -278 1200 922 ;
+C 85 ; WX 1204 ; N U ; B 0 0 0 0 ;
+C 86 ; WX 1204 ; N V ; B 0 -278 1200 922 ;
+C 87 ; WX 1204 ; N W ; B 0 -278 1200 922 ;
+C 88 ; WX 1204 ; N X ; B 0 -278 1200 922 ;
+C 89 ; WX 1204 ; N Y ; B 0 0 0 0 ;
+C 90 ; WX 1204 ; N Z ; B 0 0 0 0 ;
+C 91 ; WX 1204 ; N bracketleft ; B 0 0 0 0 ;
+C 93 ; WX 1204 ; N bracketright ; B 0 0 0 0 ;
+C 96 ; WX 602 ; N quoteleft ; B 0 0 0 0 ;
+C 97 ; WX 1204 ; N a ; B 0 0 0 0 ;
+C 98 ; WX 1204 ; N b ; B 0 0 0 0 ;
+C 99 ; WX 1204 ; N c ; B 0 0 0 0 ;
+C 100 ; WX 1204 ; N d ; B 0 0 0 0 ;
+C 101 ; WX 1204 ; N e ; B 0 0 0 0 ;
+C 102 ; WX 1204 ; N f ; B 0 0 0 0 ;
+C 103 ; WX 1204 ; N g ; B 0 -278 1200 922 ;
+C 104 ; WX 1204 ; N h ; B 0 0 0 0 ;
+C 105 ; WX 1204 ; N i ; B 0 0 0 0 ;
+C 106 ; WX 1204 ; N j ; B 0 0 0 0 ;
+C 107 ; WX 1204 ; N k ; B 0 0 0 0 ;
+C 108 ; WX 1204 ; N l ; B 0 0 0 0 ;
+C 109 ; WX 1204 ; N m ; B 0 0 0 0 ;
+C 110 ; WX 1204 ; N n ; B 0 0 0 0 ;
+C 111 ; WX 1204 ; N o ; B 0 0 0 0 ;
+C 112 ; WX 1204 ; N p ; B 0 -278 1200 922 ;
+C 113 ; WX 1204 ; N q ; B 0 0 0 0 ;
+C 114 ; WX 1204 ; N r ; B 0 0 0 0 ;
+C 115 ; WX 1204 ; N s ; B 0 0 0 0 ;
+C 116 ; WX 1204 ; N t ; B 0 0 0 0 ;
+C 117 ; WX 1204 ; N u ; B 0 0 0 0 ;
+C 118 ; WX 1204 ; N v ; B 0 0 0 0 ;
+C 119 ; WX 1204 ; N w ; B 0 0 0 0 ;
+C 120 ; WX 1204 ; N x ; B 0 0 0 0 ;
+C 121 ; WX 1204 ; N y ; B 0 0 0 0 ;
+C 122 ; WX 1204 ; N z ; B 0 0 0 0 ;
+C 124 ; WX 151 ; N bar ; B 0 0 0 0 ;
+C 126 ; WX 1204 ; N asciitilde ; B 0 0 0 0 ;
+C 127 ; WX 1204 ; N hyphen ; B 0 0 0 0 ;
+C 128 ; WX 2409 ; N Abreve ; B 0 0 0 0 ;
+C 129 ; WX 2409 ; N Aogonek ; B 0 0 0 0 ;
+C 130 ; WX 2409 ; N Cacute ; B 0 -278 2400 922 ;
+C 131 ; WX 2409 ; N Ccaron ; B 0 -278 2400 922 ;
+C 132 ; WX 3613 ; N Dcaron ; B 0 0 0 0 ;
+C 133 ; WX 3613 ; N Ecaron ; B 0 0 0 0 ;
+C 134 ; WX 3613 ; N Eogonek ; B 0 -278 3600 922 ;
+C 135 ; WX 3613 ; N Gbreve ; B 0 -278 3600 922 ;
+C 136 ; WX 2409 ; N Lacute ; B 0 -278 2400 922 ;
+C 137 ; WX 2409 ; N Lcaron ; B 0 -278 2400 922 ;
+C 138 ; WX 2409 ; N Lslash ; B 0 0 0 0 ;
+C 139 ; WX 2409 ; N Nacute ; B 0 0 0 0 ;
+C 140 ; WX 2409 ; N Ncaron ; B 0 -278 2400 922 ;
+C 141 ; WX 2409 ; N Eng ; B 0 -278 2400 922 ;
+C 142 ; WX 2409 ; N Odblacute ; B 0 -278 2400 922 ;
+C 143 ; WX 2409 ; N Racute ; B 0 -278 2400 922 ;
+C 144 ; WX 2409 ; N Rcaron ; B 0 -278 2400 922 ;
+C 145 ; WX 2409 ; N Sacute ; B 0 -278 2400 922 ;
+C 146 ; WX 2409 ; N Scaron ; B 0 -278 2400 922 ;
+C 147 ; WX 2409 ; N Scedilla ; B 0 -278 2400 922 ;
+C 148 ; WX 3613 ; N Tcaron ; B 0 -278 3600 922 ;
+C 149 ; WX 3613 ; N Tcedilla ; B 0 -278 3600 922 ;
+C 150 ; WX 3613 ; N Udblacute ; B 0 0 0 0 ;
+C 151 ; WX 3613 ; N Uring ; B 0 0 0 0 ;
+C 152 ; WX 3613 ; N Ydieresis ; B 0 -278 3600 922 ;
+C 153 ; WX 3613 ; N Zacute ; B 0 -278 3600 922 ;
+C 154 ; WX 3613 ; N Zcaron ; B 0 0 0 0 ;
+C 155 ; WX 3613 ; N Zdot ; B 0 0 0 0 ;
+C 156 ; WX 3613 ; N IJ ; B 0 -278 3600 922 ;
+C 157 ; WX 3613 ; N Idot ; B 0 -278 3600 922 ;
+C 158 ; WX 3613 ; N dmacron ; B 0 -278 3600 922 ;
+C 159 ; WX 3613 ; N section ; B 0 -278 3600 922 ;
+C 160 ; WX 3613 ; N abreve ; B 0 -278 3600 922 ;
+C 161 ; WX 3613 ; N aogonek ; B 0 -278 3600 922 ;
+C 162 ; WX 3613 ; N cacute ; B 0 -278 3600 922 ;
+C 163 ; WX 3613 ; N ccaron ; B 0 -278 3600 922 ;
+C 164 ; WX 4818 ; N dcaron ; B 0 -278 4800 922 ;
+C 165 ; WX 4818 ; N ecaron ; B 0 -278 4800 922 ;
+C 166 ; WX 4818 ; N eogonek ; B 0 0 0 0 ;
+C 167 ; WX 4818 ; N gbreve ; B 0 0 0 0 ;
+C 168 ; WX 4818 ; N lacute ; B 0 -278 4800 922 ;
+C 169 ; WX 4818 ; N lcaron ; B 0 -278 4800 922 ;
+C 170 ; WX 4818 ; N lslash ; B 0 -278 4800 922 ;
+C 171 ; WX 4818 ; N nacute ; B 0 -278 4800 922 ;
+C 172 ; WX 4818 ; N ncaron ; B 0 -278 4800 922 ;
+C 173 ; WX 4818 ; N eng ; B 0 -278 4800 922 ;
+C 174 ; WX 4818 ; N odblacute ; B 0 -278 4800 922 ;
+C 175 ; WX 4818 ; N racute ; B 0 -278 4800 922 ;
+C 176 ; WX 3613 ; N rcaron ; B 0 -278 3600 922 ;
+C 177 ; WX 3613 ; N sacute ; B 0 -278 3600 922 ;
+C 178 ; WX 3613 ; N scaron ; B 0 0 0 0 ;
+C 179 ; WX 3613 ; N scedilla ; B 0 0 0 0 ;
+C 180 ; WX 3613 ; N tcaron ; B 0 -278 3600 922 ;
+C 181 ; WX 3613 ; N tcedilla ; B 0 -278 3600 922 ;
+C 182 ; WX 3613 ; N udblacute ; B 0 -278 3600 922 ;
+C 183 ; WX 3613 ; N uring ; B 0 -278 3600 922 ;
+C 184 ; WX 3613 ; N ydieresis ; B 0 -278 3600 922 ;
+C 185 ; WX 3613 ; N zacute ; B 0 -278 3600 922 ;
+C 186 ; WX 3613 ; N zcaron ; B 0 -278 3600 922 ;
+C 187 ; WX 3613 ; N zdot ; B 0 -278 3600 922 ;
+C 188 ; WX 4818 ; N ij ; B 0 -278 4800 922 ;
+C 189 ; WX 4818 ; N exclamdown ; B 0 -278 4800 922 ;
+C 190 ; WX 4818 ; N questiondown ; B 0 0 0 0 ;
+C 191 ; WX 4818 ; N sterling ; B 0 0 0 0 ;
+C 192 ; WX 4818 ; N Agrave ; B 0 -278 4800 922 ;
+C 193 ; WX 4818 ; N Aacute ; B 0 -278 4800 922 ;
+C 194 ; WX 4818 ; N Acircumflex ; B 0 -278 4800 922 ;
+C 195 ; WX 4818 ; N Atilde ; B 0 -278 4800 922 ;
+C 196 ; WX 4818 ; N Adieresis ; B 0 -278 4800 922 ;
+C 197 ; WX 4818 ; N Aring ; B 0 -278 4800 922 ;
+C 198 ; WX 4818 ; N AE ; B 0 -278 4800 922 ;
+C 199 ; WX 4818 ; N Ccedilla ; B 0 -278 4800 922 ;
+C 200 ; WX 6022 ; N Egrave ; B 0 -278 6000 922 ;
+C 201 ; WX 6022 ; N Eacute ; B 0 -278 6000 922 ;
+C 202 ; WX 6022 ; N Ecircumflex ; B 0 0 0 0 ;
+C 203 ; WX 6022 ; N Edieresis ; B 0 0 0 0 ;
+C 204 ; WX 7227 ; N Igrave ; B 0 -278 7200 922 ;
+C 205 ; WX 7227 ; N Iacute ; B 0 -278 7200 922 ;
+C 206 ; WX 7227 ; N Icircumflex ; B 0 0 0 0 ;
+C 207 ; WX 7227 ; N Idieresis ; B 0 0 0 0 ;
+C 208 ; WX 6022 ; N Eth ; B 0 -278 6000 922 ;
+C 209 ; WX 6022 ; N Ntilde ; B 0 -278 6000 922 ;
+C 210 ; WX 6022 ; N Ograve ; B 0 0 0 0 ;
+C 211 ; WX 6022 ; N Oacute ; B 0 0 0 0 ;
+C 212 ; WX 6022 ; N Ocircumflex ; B 0 -278 6000 922 ;
+C 213 ; WX 6022 ; N Otilde ; B 0 -278 6000 922 ;
+C 214 ; WX 6022 ; N Odieresis ; B 0 -278 6000 922 ;
+C 215 ; WX 6022 ; N OE ; B 0 -278 6000 922 ;
+C 216 ; WX 6022 ; N Oslash ; B 0 -278 6000 922 ;
+C 217 ; WX 6022 ; N Ugrave ; B 0 -278 6000 922 ;
+C 218 ; WX 6022 ; N Uacute ; B 0 -278 6000 922 ;
+C 219 ; WX 6022 ; N Ucircumflex ; B 0 -278 6000 922 ;
+C 220 ; WX 4818 ; N Udieresis ; B 0 -278 4800 922 ;
+C 221 ; WX 4818 ; N Yacute ; B 0 -278 4800 922 ;
+C 222 ; WX 4818 ; N Thorn ; B 0 0 0 0 ;
+C 223 ; WX 4818 ; N Germandbls ; B 0 0 0 0 ;
+C 224 ; WX 4818 ; N agrave ; B 0 -278 4800 922 ;
+C 225 ; WX 4818 ; N aacute ; B 0 -278 4800 922 ;
+C 226 ; WX 4818 ; N acircumflex ; B 0 -278 4800 922 ;
+C 227 ; WX 4818 ; N atilde ; B 0 -278 4800 922 ;
+C 228 ; WX 4818 ; N adieresis ; B 0 -278 4800 922 ;
+C 229 ; WX 4818 ; N aring ; B 0 -278 4800 922 ;
+C 230 ; WX 4818 ; N ae ; B 0 -278 4800 922 ;
+C 231 ; WX 4818 ; N ccedilla ; B 0 -278 4800 922 ;
+C 232 ; WX 6022 ; N egrave ; B 0 -278 6000 922 ;
+C 233 ; WX 6022 ; N eacute ; B 0 -278 6000 922 ;
+C 234 ; WX 6022 ; N ecircumflex ; B 0 0 0 0 ;
+C 235 ; WX 6022 ; N edieresis ; B 0 0 0 0 ;
+C 236 ; WX 6022 ; N igrave ; B 0 -278 6000 922 ;
+C 237 ; WX 6022 ; N iacute ; B 0 -278 6000 922 ;
+C 238 ; WX 6022 ; N icircumflex ; B 0 -278 6000 922 ;
+C 239 ; WX 6022 ; N idieresis ; B 0 -278 6000 922 ;
+C 240 ; WX 6022 ; N eth ; B 0 -278 6000 922 ;
+C 241 ; WX 6022 ; N ntilde ; B 0 -278 6000 922 ;
+C 242 ; WX 6022 ; N ograve ; B 0 -278 6000 922 ;
+C 243 ; WX 6022 ; N oacute ; B 0 -278 6000 922 ;
+C 244 ; WX 7227 ; N ocircumflex ; B 0 -278 7200 922 ;
+C 245 ; WX 7227 ; N otilde ; B 0 -278 7200 922 ;
+C 246 ; WX 7227 ; N odieresis ; B 0 0 0 0 ;
+C 247 ; WX 7227 ; N oe ; B 0 0 0 0 ;
+C 248 ; WX 7227 ; N oslash ; B 0 -278 7200 922 ;
+C 249 ; WX 7227 ; N ugrave ; B 0 -278 7200 922 ;
+C 250 ; WX 7227 ; N uacute ; B 0 -278 7200 922 ;
+C 251 ; WX 7227 ; N ucircumflex ; B 0 -278 7200 922 ;
+C 252 ; WX 7227 ; N udieresis ; B 0 -278 7200 922 ;
+C 253 ; WX 7227 ; N yacute ; B 0 -278 7200 922 ;
+C 254 ; WX 7227 ; N thorn ; B 0 -278 7200 922 ;
+C 255 ; WX 7227 ; N germandbls ; B 0 -278 7200 922 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/knitting/knitnl.afm b/Master/texmf-dist/fonts/afm/public/knitting/knitnl.afm
new file mode 100644
index 00000000000..7b97ccb5c7d
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/knitting/knitnl.afm
@@ -0,0 +1,145 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20070915
+Comment Creation Date: Sat Jan 16 18:32:57 2010
+FontName KnittingSymbols-nogrid-lowered-Medium
+FullName KnittingSymbols-nogrid-lowered
+FamilyName KnittingSymbols-nogrid-lowered
+Weight Medium
+Notice (Font converted to Type 1 by mf2pt1, written by Scott Pakin.)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox -1035 -298 5611 942
+CapHeight 543
+XHeight 517
+Ascender 567
+Descender 287
+StartCharMetrics 123
+C 0 ; WX 1204 ; N grave ; B 197 -178 1003 627 ;
+C 1 ; WX 1204 ; N acute ; B 312 344 888 668 ;
+C 2 ; WX 1204 ; N circumflex ; B 312 344 888 668 ;
+C 3 ; WX 1204 ; N tilde ; B 313 -218 887 104 ;
+C 4 ; WX 1204 ; N dieresis ; B 313 -218 887 104 ;
+C 5 ; WX 0 ; N hungarumlaut ; B -1000 652 200 722 ;
+C 6 ; WX 0 ; N ring ; B -1000 -78 200 -8 ;
+C 7 ; WX 0 ; N caron ; B -200 652 1000 722 ;
+C 8 ; WX 0 ; N breve ; B -200 -78 1000 -8 ;
+C 9 ; WX 0 ; N macron ; B -1000 -78 -200 -8 ;
+C 10 ; WX 0 ; N dotaccent ; B -1000 652 -200 722 ;
+C 11 ; WX 0 ; N cedilla ; B 200 652 1000 722 ;
+C 12 ; WX 0 ; N ogonek ; B 200 -78 1000 -8 ;
+C 13 ; WX 0 ; N quotesinglbase ; B -235 -78 235 722 ;
+C 14 ; WX 0 ; N guilsinglleft ; B -235 -78 235 722 ;
+C 17 ; WX 1204 ; N quotedblright ; B 0 -118 1200 567 ;
+C 18 ; WX 1204 ; N quotedblbase ; B 0 -68 1060 517 ;
+C 19 ; WX 1204 ; N guillemotleft ; B 50 -114 960 757 ;
+C 20 ; WX 1204 ; N guillemotright ; B 165 186 1035 458 ;
+C 21 ; WX 1204 ; N endash ; B 165 186 1035 458 ;
+C 22 ; WX 602 ; N emdash ; B 0 155 600 295 ;
+C 23 ; WX 1204 ; N compwordmark ; B 0 -118 1200 567 ;
+C 24 ; WX 1204 ; N perthousandzero ; B 0 -118 1040 567 ;
+C 25 ; WX 602 ; N dotlessi ; B 190 155 600 667 ;
+C 26 ; WX 602 ; N dotlessj ; B 0 155 411 667 ;
+C 27 ; WX 602 ; N ff ; B 190 -218 600 295 ;
+C 28 ; WX 602 ; N fi ; B 0 -218 411 295 ;
+C 29 ; WX 1204 ; N fl ; B 0 -218 1200 295 ;
+C 30 ; WX 1204 ; N ffi ; B 0 155 1200 667 ;
+C 31 ; WX 6022 ; N ffl ; B 390 -218 5611 667 ;
+C 33 ; WX 1204 ; N exclam ; B 308 -68 892 517 ;
+C 34 ; WX 1204 ; N quotedbl ; B 240 -114 1150 757 ;
+C 39 ; WX 602 ; N quoteright ; B 0 0 0 0 ;
+C 40 ; WX 1204 ; N parenleft ; B 308 -68 853 517 ;
+C 41 ; WX 1204 ; N parenright ; B 348 -68 893 517 ;
+C 42 ; WX 1204 ; N asterisk ; B 342 -68 858 517 ;
+C 43 ; WX 1204 ; N plus ; B 165 186 1035 458 ;
+C 44 ; WX 1204 ; N comma ; B 0 0 0 0 ;
+C 45 ; WX 1204 ; N hyphen ; B 565 -68 635 517 ;
+C 46 ; WX 1204 ; N period ; B 0 0 0 0 ;
+C 47 ; WX 1204 ; N slash ; B 165 12 1035 632 ;
+C 49 ; WX 1204 ; N one ; B 140 -68 1200 517 ;
+C 50 ; WX 1204 ; N two ; B 308 -68 892 517 ;
+C 51 ; WX 1204 ; N three ; B 258 -118 903 567 ;
+C 52 ; WX 1204 ; N four ; B 310 -68 890 517 ;
+C 53 ; WX 1204 ; N five ; B 310 -68 890 517 ;
+C 58 ; WX 1204 ; N colon ; B 308 -68 853 517 ;
+C 59 ; WX 1204 ; N semicolon ; B 348 -68 892 517 ;
+C 60 ; WX 1204 ; N less ; B 348 -68 892 517 ;
+C 61 ; WX 1204 ; N equal ; B 353 287 847 357 ;
+C 62 ; WX 1204 ; N greater ; B 308 -68 853 517 ;
+C 63 ; WX 1204 ; N question ; B 160 -118 1200 567 ;
+C 64 ; WX 1204 ; N at ; B 307 29 893 615 ;
+C 65 ; WX 1204 ; N A ; B 258 -118 903 567 ;
+C 66 ; WX 1204 ; N B ; B 380 -68 820 565 ;
+C 67 ; WX 1204 ; N C ; B 565 -28 635 477 ;
+C 68 ; WX 1204 ; N D ; B 348 -68 892 517 ;
+C 69 ; WX 1204 ; N E ; B 258 -118 943 567 ;
+C 70 ; WX 1204 ; N F ; B -35 287 1235 477 ;
+C 71 ; WX 1204 ; N G ; B 353 287 847 357 ;
+C 72 ; WX 1204 ; N H ; B 476 -78 724 562 ;
+C 73 ; WX 1204 ; N I ; B 348 -68 916 543 ;
+C 74 ; WX 1204 ; N J ; B 284 -68 853 543 ;
+C 75 ; WX 1204 ; N K ; B 565 -28 635 477 ;
+C 76 ; WX 1204 ; N L ; B 298 -118 943 567 ;
+C 77 ; WX 1204 ; N M ; B 300 15 900 435 ;
+C 78 ; WX 1204 ; N N ; B 300 15 900 435 ;
+C 79 ; WX 1204 ; N O ; B 308 -68 892 517 ;
+C 80 ; WX 1204 ; N P ; B 353 287 847 357 ;
+C 81 ; WX 1204 ; N Q ; B 380 -68 820 565 ;
+C 82 ; WX 1204 ; N R ; B 258 -118 903 567 ;
+C 83 ; WX 1204 ; N S ; B 165 68 1000 381 ;
+C 84 ; WX 1204 ; N T ; B 380 -115 820 517 ;
+C 85 ; WX 1204 ; N U ; B -35 -28 1235 477 ;
+C 86 ; WX 1204 ; N V ; B 308 -68 892 517 ;
+C 87 ; WX 1204 ; N W ; B 258 -118 943 567 ;
+C 88 ; WX 1204 ; N X ; B 380 -115 820 517 ;
+C 89 ; WX 1204 ; N Y ; B 258 -118 943 567 ;
+C 90 ; WX 1204 ; N Z ; B 197 -178 1003 627 ;
+C 91 ; WX 1204 ; N bracketleft ; B 170 -8 1065 457 ;
+C 93 ; WX 1204 ; N bracketright ; B 135 -8 1030 457 ;
+C 94 ; WX 0 ; N asciicircum ; B -1035 652 1035 722 ;
+C 95 ; WX 0 ; N underscore ; B -1035 -78 1035 -8 ;
+C 96 ; WX 602 ; N quoteleft ; B 0 0 0 0 ;
+C 97 ; WX 1204 ; N a ; B 258 -118 943 567 ;
+C 98 ; WX 1204 ; N b ; B 380 -68 820 565 ;
+C 99 ; WX 1204 ; N c ; B 565 167 635 477 ;
+C 100 ; WX 1204 ; N d ; B 445 127 795 517 ;
+C 101 ; WX 1204 ; N e ; B 300 112 900 532 ;
+C 102 ; WX 1204 ; N f ; B -35 287 1235 477 ;
+C 103 ; WX 1204 ; N g ; B 353 287 847 357 ;
+C 104 ; WX 1204 ; N h ; B 476 -113 724 527 ;
+C 105 ; WX 1204 ; N i ; B 348 -68 916 543 ;
+C 106 ; WX 1204 ; N j ; B 284 -68 853 543 ;
+C 107 ; WX 1204 ; N k ; B 565 167 635 477 ;
+C 108 ; WX 1204 ; N l ; B 258 -118 943 567 ;
+C 109 ; WX 1204 ; N m ; B 300 15 900 435 ;
+C 110 ; WX 1204 ; N n ; B 300 112 900 532 ;
+C 111 ; WX 1204 ; N o ; B 445 127 795 517 ;
+C 112 ; WX 1204 ; N p ; B 353 287 847 357 ;
+C 113 ; WX 1204 ; N q ; B 380 -68 820 565 ;
+C 114 ; WX 1204 ; N r ; B 565 -118 943 260 ;
+C 115 ; WX 1204 ; N s ; B 200 68 1035 381 ;
+C 116 ; WX 1204 ; N t ; B 380 -115 820 517 ;
+C 117 ; WX 1204 ; N u ; B 310 -68 890 517 ;
+C 118 ; WX 1204 ; N v ; B 308 -68 892 517 ;
+C 119 ; WX 1204 ; N w ; B 258 -118 943 567 ;
+C 120 ; WX 1204 ; N x ; B 380 -115 820 517 ;
+C 121 ; WX 1204 ; N y ; B 310 -68 890 517 ;
+C 122 ; WX 1204 ; N z ; B 297 -78 903 527 ;
+C 124 ; WX 80 ; N bar ; B 0 -298 80 942 ;
+C 126 ; WX 1204 ; N asciitilde ; B 0 0 0 0 ;
+C 127 ; WX 1204 ; N hyphen ; B 565 -68 635 517 ;
+C 128 ; WX 1204 ; N Abreve ; B 565 167 635 477 ;
+C 129 ; WX 1204 ; N Aogonek ; B 565 -28 635 477 ;
+C 130 ; WX 1204 ; N Cacute ; B 353 287 847 357 ;
+C 131 ; WX 1204 ; N Ccaron ; B 353 287 847 357 ;
+C 132 ; WX 1204 ; N Dcaron ; B 300 112 900 532 ;
+C 133 ; WX 1204 ; N Ecaron ; B 300 112 900 532 ;
+C 134 ; WX 1204 ; N Eogonek ; B 300 15 900 435 ;
+C 135 ; WX 1204 ; N Gbreve ; B 405 127 755 517 ;
+C 136 ; WX 1204 ; N Lacute ; B 405 127 755 517 ;
+C 137 ; WX 1204 ; N Lcaron ; B 308 -68 853 517 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/knitting/knitnn.afm b/Master/texmf-dist/fonts/afm/public/knitting/knitnn.afm
new file mode 100644
index 00000000000..7340a139a05
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/knitting/knitnn.afm
@@ -0,0 +1,145 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20070915
+Comment Creation Date: Sat Jan 16 18:33:02 2010
+FontName KnittingSymbols-nogrid-foreground-Medium
+FullName KnittingSymbols-nogrid-foreground
+FamilyName KnittingSymbols-nogrid-foreground
+Weight Medium
+Notice (Font converted to Type 1 by mf2pt1, written by Scott Pakin.)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox -1035 -298 5611 942
+CapHeight 738
+XHeight 712
+Ascender 762
+Descender 287
+StartCharMetrics 123
+C 0 ; WX 1204 ; N grave ; B 60 -218 1140 862 ;
+C 1 ; WX 1204 ; N acute ; B 215 442 985 862 ;
+C 2 ; WX 1204 ; N circumflex ; B 215 442 985 862 ;
+C 3 ; WX 1204 ; N tilde ; B 215 -218 985 202 ;
+C 4 ; WX 1204 ; N dieresis ; B 215 -218 985 202 ;
+C 5 ; WX 0 ; N hungarumlaut ; B -1000 652 200 722 ;
+C 6 ; WX 0 ; N ring ; B -1000 -78 200 -8 ;
+C 7 ; WX 0 ; N caron ; B -200 652 1000 722 ;
+C 8 ; WX 0 ; N breve ; B -200 -78 1000 -8 ;
+C 9 ; WX 0 ; N macron ; B -1000 -78 -200 -8 ;
+C 10 ; WX 0 ; N dotaccent ; B -1000 652 -200 722 ;
+C 11 ; WX 0 ; N cedilla ; B 200 652 1000 722 ;
+C 12 ; WX 0 ; N ogonek ; B 200 -78 1000 -8 ;
+C 13 ; WX 0 ; N quotesinglbase ; B -235 -78 235 722 ;
+C 14 ; WX 0 ; N guilsinglleft ; B -235 -78 235 722 ;
+C 17 ; WX 1204 ; N quotedblright ; B 0 -118 1200 762 ;
+C 18 ; WX 1204 ; N quotedblbase ; B 0 -68 1060 712 ;
+C 19 ; WX 1204 ; N guillemotleft ; B 50 -114 960 757 ;
+C 20 ; WX 1204 ; N guillemotright ; B 165 147 1035 497 ;
+C 21 ; WX 1204 ; N endash ; B 165 147 1035 497 ;
+C 22 ; WX 602 ; N emdash ; B 0 252 600 392 ;
+C 23 ; WX 1204 ; N compwordmark ; B 0 -118 1200 762 ;
+C 24 ; WX 1204 ; N perthousandzero ; B 0 -118 1140 762 ;
+C 25 ; WX 602 ; N dotlessi ; B 190 252 600 862 ;
+C 26 ; WX 602 ; N dotlessj ; B 0 252 411 862 ;
+C 27 ; WX 602 ; N ff ; B 190 -218 600 392 ;
+C 28 ; WX 602 ; N fi ; B 0 -218 411 392 ;
+C 29 ; WX 1204 ; N fl ; B 0 -218 1200 392 ;
+C 30 ; WX 1204 ; N ffi ; B 0 252 1200 862 ;
+C 31 ; WX 6022 ; N ffl ; B 390 -218 5611 862 ;
+C 33 ; WX 1204 ; N exclam ; B 210 -68 990 712 ;
+C 34 ; WX 1204 ; N quotedbl ; B 240 -114 1150 757 ;
+C 39 ; WX 602 ; N quoteright ; B 0 0 0 0 ;
+C 40 ; WX 1204 ; N parenleft ; B 210 -68 950 712 ;
+C 41 ; WX 1204 ; N parenright ; B 250 -68 990 712 ;
+C 42 ; WX 1204 ; N asterisk ; B 258 -68 942 712 ;
+C 43 ; WX 1204 ; N plus ; B 165 147 1035 497 ;
+C 44 ; WX 1204 ; N comma ; B 0 0 0 0 ;
+C 45 ; WX 1204 ; N hyphen ; B 565 -68 635 712 ;
+C 46 ; WX 1204 ; N period ; B 0 0 0 0 ;
+C 47 ; WX 1204 ; N slash ; B 165 -85 1035 730 ;
+C 49 ; WX 1204 ; N one ; B 140 -68 1200 712 ;
+C 50 ; WX 1204 ; N two ; B 210 -68 990 712 ;
+C 51 ; WX 1204 ; N three ; B 160 -118 1000 762 ;
+C 52 ; WX 1204 ; N four ; B 214 -68 986 712 ;
+C 53 ; WX 1204 ; N five ; B 214 -68 986 712 ;
+C 58 ; WX 1204 ; N colon ; B 210 -68 950 712 ;
+C 59 ; WX 1204 ; N semicolon ; B 250 -68 990 712 ;
+C 60 ; WX 1204 ; N less ; B 250 -68 990 712 ;
+C 61 ; WX 1204 ; N equal ; B 285 287 915 357 ;
+C 62 ; WX 1204 ; N greater ; B 210 -68 950 712 ;
+C 63 ; WX 1204 ; N question ; B 60 -118 1200 762 ;
+C 64 ; WX 1204 ; N at ; B 307 29 893 615 ;
+C 65 ; WX 1204 ; N A ; B 160 -118 1000 762 ;
+C 66 ; WX 1204 ; N B ; B 303 -68 897 760 ;
+C 67 ; WX 1204 ; N C ; B 565 -28 635 477 ;
+C 68 ; WX 1204 ; N D ; B 348 -68 892 517 ;
+C 69 ; WX 1204 ; N E ; B 160 -118 1040 762 ;
+C 70 ; WX 1204 ; N F ; B -35 287 1235 672 ;
+C 71 ; WX 1204 ; N G ; B 285 287 915 357 ;
+C 72 ; WX 1204 ; N H ; B 443 -78 757 757 ;
+C 73 ; WX 1204 ; N I ; B 250 -68 1014 738 ;
+C 74 ; WX 1204 ; N J ; B 186 -68 950 738 ;
+C 75 ; WX 1204 ; N K ; B 565 -28 635 477 ;
+C 76 ; WX 1204 ; N L ; B 200 -118 1040 762 ;
+C 77 ; WX 1204 ; N M ; B 300 112 900 532 ;
+C 78 ; WX 1204 ; N N ; B 300 15 900 435 ;
+C 79 ; WX 1204 ; N O ; B 210 -68 990 712 ;
+C 80 ; WX 1204 ; N P ; B 285 287 915 357 ;
+C 81 ; WX 1204 ; N Q ; B 303 -68 897 760 ;
+C 82 ; WX 1204 ; N R ; B 160 -118 1000 762 ;
+C 83 ; WX 1204 ; N S ; B 165 166 1000 479 ;
+C 84 ; WX 1204 ; N T ; B 303 -115 897 712 ;
+C 85 ; WX 1204 ; N U ; B -35 -28 1235 672 ;
+C 86 ; WX 1204 ; N V ; B 210 -68 990 712 ;
+C 87 ; WX 1204 ; N W ; B 160 -118 1040 762 ;
+C 88 ; WX 1204 ; N X ; B 303 -115 897 712 ;
+C 89 ; WX 1204 ; N Y ; B 160 -118 1040 762 ;
+C 90 ; WX 1204 ; N Z ; B 100 -178 1100 822 ;
+C 91 ; WX 1204 ; N bracketleft ; B 170 90 1065 555 ;
+C 93 ; WX 1204 ; N bracketright ; B 135 90 1030 555 ;
+C 94 ; WX 0 ; N asciicircum ; B -1035 652 1035 722 ;
+C 95 ; WX 0 ; N underscore ; B -1035 -78 1035 -8 ;
+C 96 ; WX 602 ; N quoteleft ; B 0 0 0 0 ;
+C 97 ; WX 1204 ; N a ; B 160 -118 1040 762 ;
+C 98 ; WX 1204 ; N b ; B 303 -68 897 760 ;
+C 99 ; WX 1204 ; N c ; B 565 167 635 672 ;
+C 100 ; WX 1204 ; N d ; B 348 127 892 712 ;
+C 101 ; WX 1204 ; N e ; B 300 210 900 630 ;
+C 102 ; WX 1204 ; N f ; B -35 287 1235 672 ;
+C 103 ; WX 1204 ; N g ; B 285 287 915 357 ;
+C 104 ; WX 1204 ; N h ; B 443 -113 757 722 ;
+C 105 ; WX 1204 ; N i ; B 250 -68 1014 738 ;
+C 106 ; WX 1204 ; N j ; B 186 -68 950 738 ;
+C 107 ; WX 1204 ; N k ; B 565 167 635 672 ;
+C 108 ; WX 1204 ; N l ; B 160 -118 1040 762 ;
+C 109 ; WX 1204 ; N m ; B 300 112 900 532 ;
+C 110 ; WX 1204 ; N n ; B 300 210 900 630 ;
+C 111 ; WX 1204 ; N o ; B 348 127 892 712 ;
+C 112 ; WX 1204 ; N p ; B 285 287 915 357 ;
+C 113 ; WX 1204 ; N q ; B 303 -68 897 760 ;
+C 114 ; WX 1204 ; N r ; B 160 -118 1040 762 ;
+C 115 ; WX 1204 ; N s ; B 200 166 1035 479 ;
+C 116 ; WX 1204 ; N t ; B 303 -115 897 712 ;
+C 117 ; WX 1204 ; N u ; B 214 -68 986 712 ;
+C 118 ; WX 1204 ; N v ; B 210 -68 990 712 ;
+C 119 ; WX 1204 ; N w ; B 160 -118 1040 762 ;
+C 120 ; WX 1204 ; N x ; B 303 -115 897 712 ;
+C 121 ; WX 1204 ; N y ; B 214 -68 986 712 ;
+C 122 ; WX 1204 ; N z ; B 200 -78 1000 722 ;
+C 124 ; WX 80 ; N bar ; B 0 -298 80 942 ;
+C 126 ; WX 1204 ; N asciitilde ; B 0 0 0 0 ;
+C 127 ; WX 1204 ; N hyphen ; B 565 -68 635 712 ;
+C 128 ; WX 1204 ; N Abreve ; B 565 167 635 672 ;
+C 129 ; WX 1204 ; N Aogonek ; B 565 -28 635 477 ;
+C 130 ; WX 1204 ; N Cacute ; B 285 287 915 357 ;
+C 131 ; WX 1204 ; N Ccaron ; B 285 287 915 357 ;
+C 132 ; WX 1204 ; N Dcaron ; B 300 210 900 630 ;
+C 133 ; WX 1204 ; N Ecaron ; B 300 210 900 630 ;
+C 134 ; WX 1204 ; N Eogonek ; B 300 15 900 435 ;
+C 135 ; WX 1204 ; N Gbreve ; B 308 127 853 712 ;
+C 136 ; WX 1204 ; N Lacute ; B 308 127 853 712 ;
+C 137 ; WX 1204 ; N Lcaron ; B 308 -68 853 517 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/knitting/knitnp.afm b/Master/texmf-dist/fonts/afm/public/knitting/knitnp.afm
new file mode 100644
index 00000000000..f3093718405
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/knitting/knitnp.afm
@@ -0,0 +1,143 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20070915
+Comment Creation Date: Sat Jan 16 18:32:58 2010
+FontName KnittingSymbols-nogrid-purl-Medium
+FullName KnittingSymbols-nogrid-purl
+FamilyName KnittingSymbols-nogrid-purl
+Weight Medium
+Notice (Font converted to Type 1 by mf2pt1, written by Scott Pakin.)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox -1035 -298 1220 942
+CapHeight 942
+Descender -298
+StartCharMetrics 123
+C 0 ; WX 1204 ; N grave ; B 0 0 0 0 ;
+C 1 ; WX 1204 ; N acute ; B 0 0 0 0 ;
+C 2 ; WX 1204 ; N circumflex ; B -20 -298 1220 942 ;
+C 3 ; WX 1204 ; N tilde ; B 0 0 0 0 ;
+C 4 ; WX 1204 ; N dieresis ; B -20 -298 1220 942 ;
+C 5 ; WX 0 ; N hungarumlaut ; B -1000 652 200 722 ;
+C 6 ; WX 0 ; N ring ; B -1000 -78 200 -8 ;
+C 7 ; WX 0 ; N caron ; B -200 652 1000 722 ;
+C 8 ; WX 0 ; N breve ; B -200 -78 1000 -8 ;
+C 9 ; WX 0 ; N macron ; B -1000 -78 -200 -8 ;
+C 10 ; WX 0 ; N dotaccent ; B -1000 652 -200 722 ;
+C 11 ; WX 0 ; N cedilla ; B 200 652 1000 722 ;
+C 12 ; WX 0 ; N ogonek ; B 200 -78 1000 -8 ;
+C 13 ; WX 0 ; N quotesinglbase ; B -235 -78 235 722 ;
+C 14 ; WX 0 ; N guilsinglleft ; B -235 -78 235 722 ;
+C 17 ; WX 1204 ; N quotedblright ; B 0 0 0 0 ;
+C 18 ; WX 1204 ; N quotedblbase ; B 0 0 0 0 ;
+C 19 ; WX 1204 ; N guillemotleft ; B 0 0 0 0 ;
+C 20 ; WX 1204 ; N guillemotright ; B 0 0 0 0 ;
+C 21 ; WX 1204 ; N endash ; B 0 0 0 0 ;
+C 22 ; WX 602 ; N emdash ; B 0 0 0 0 ;
+C 23 ; WX 1204 ; N compwordmark ; B 0 0 0 0 ;
+C 24 ; WX 1204 ; N perthousandzero ; B 0 0 0 0 ;
+C 25 ; WX 602 ; N dotlessi ; B 0 0 0 0 ;
+C 26 ; WX 602 ; N dotlessj ; B 0 0 0 0 ;
+C 27 ; WX 602 ; N ff ; B 0 0 0 0 ;
+C 28 ; WX 602 ; N fi ; B 0 0 0 0 ;
+C 29 ; WX 1204 ; N fl ; B 0 0 0 0 ;
+C 30 ; WX 1204 ; N ffi ; B 0 0 0 0 ;
+C 31 ; WX 6022 ; N ffl ; B 0 0 0 0 ;
+C 33 ; WX 1204 ; N exclam ; B 0 0 0 0 ;
+C 34 ; WX 1204 ; N quotedbl ; B 0 0 0 0 ;
+C 39 ; WX 602 ; N quoteright ; B 0 -278 600 922 ;
+C 40 ; WX 1204 ; N parenleft ; B 0 0 0 0 ;
+C 41 ; WX 1204 ; N parenright ; B 0 0 0 0 ;
+C 42 ; WX 1204 ; N asterisk ; B 0 0 0 0 ;
+C 43 ; WX 1204 ; N plus ; B 0 0 0 0 ;
+C 44 ; WX 1204 ; N comma ; B -20 -298 1220 942 ;
+C 45 ; WX 1204 ; N hyphen ; B 0 0 0 0 ;
+C 46 ; WX 1204 ; N period ; B 0 0 0 0 ;
+C 47 ; WX 1204 ; N slash ; B 0 0 0 0 ;
+C 49 ; WX 1204 ; N one ; B 0 0 0 0 ;
+C 50 ; WX 1204 ; N two ; B -20 -298 1220 942 ;
+C 51 ; WX 1204 ; N three ; B -20 -298 1220 942 ;
+C 52 ; WX 1204 ; N four ; B 0 0 0 0 ;
+C 53 ; WX 1204 ; N five ; B 0 0 0 0 ;
+C 58 ; WX 1204 ; N colon ; B -20 -298 1220 942 ;
+C 59 ; WX 1204 ; N semicolon ; B -20 -298 1220 942 ;
+C 60 ; WX 1204 ; N less ; B 0 0 0 0 ;
+C 61 ; WX 1204 ; N equal ; B -20 -298 1220 942 ;
+C 62 ; WX 1204 ; N greater ; B 0 0 0 0 ;
+C 63 ; WX 1204 ; N question ; B 0 0 0 0 ;
+C 64 ; WX 1204 ; N at ; B 0 0 0 0 ;
+C 65 ; WX 1204 ; N A ; B 0 0 0 0 ;
+C 66 ; WX 1204 ; N B ; B -20 -298 1220 942 ;
+C 67 ; WX 1204 ; N C ; B 0 0 0 0 ;
+C 68 ; WX 1204 ; N D ; B 0 0 0 0 ;
+C 69 ; WX 1204 ; N E ; B 195 -83 1005 727 ;
+C 70 ; WX 1204 ; N F ; B -20 -298 1220 942 ;
+C 71 ; WX 1204 ; N G ; B -20 -298 1220 942 ;
+C 72 ; WX 1204 ; N H ; B 0 0 0 0 ;
+C 73 ; WX 1204 ; N I ; B -20 -298 1220 942 ;
+C 74 ; WX 1204 ; N J ; B -20 -298 1220 942 ;
+C 75 ; WX 1204 ; N K ; B 0 0 0 0 ;
+C 76 ; WX 1204 ; N L ; B 0 0 0 0 ;
+C 77 ; WX 1204 ; N M ; B -20 -298 1220 942 ;
+C 78 ; WX 1204 ; N N ; B 0 0 0 0 ;
+C 79 ; WX 1204 ; N O ; B 0 0 0 0 ;
+C 80 ; WX 1204 ; N P ; B -20 -298 1220 942 ;
+C 81 ; WX 1204 ; N Q ; B -20 -298 1220 942 ;
+C 82 ; WX 1204 ; N R ; B 0 0 0 0 ;
+C 83 ; WX 1204 ; N S ; B 0 0 0 0 ;
+C 84 ; WX 1204 ; N T ; B -20 -298 1220 942 ;
+C 85 ; WX 1204 ; N U ; B 0 0 0 0 ;
+C 86 ; WX 1204 ; N V ; B -20 -298 1220 942 ;
+C 87 ; WX 1204 ; N W ; B -20 -298 1220 942 ;
+C 88 ; WX 1204 ; N X ; B -20 -298 1220 942 ;
+C 89 ; WX 1204 ; N Y ; B 0 0 0 0 ;
+C 90 ; WX 1204 ; N Z ; B 0 0 0 0 ;
+C 91 ; WX 1204 ; N bracketleft ; B 0 0 0 0 ;
+C 93 ; WX 1204 ; N bracketright ; B 0 0 0 0 ;
+C 94 ; WX 0 ; N asciicircum ; B -1035 652 1035 722 ;
+C 95 ; WX 0 ; N underscore ; B -1035 -78 1035 -8 ;
+C 96 ; WX 602 ; N quoteleft ; B 0 0 0 0 ;
+C 97 ; WX 1204 ; N a ; B 0 0 0 0 ;
+C 98 ; WX 1204 ; N b ; B 0 0 0 0 ;
+C 99 ; WX 1204 ; N c ; B 0 0 0 0 ;
+C 100 ; WX 1204 ; N d ; B 0 0 0 0 ;
+C 101 ; WX 1204 ; N e ; B -20 -298 1220 942 ;
+C 102 ; WX 1204 ; N f ; B 0 0 0 0 ;
+C 103 ; WX 1204 ; N g ; B -20 -298 1220 942 ;
+C 104 ; WX 1204 ; N h ; B 0 0 0 0 ;
+C 105 ; WX 1204 ; N i ; B 0 0 0 0 ;
+C 106 ; WX 1204 ; N j ; B 0 0 0 0 ;
+C 107 ; WX 1204 ; N k ; B 0 0 0 0 ;
+C 108 ; WX 1204 ; N l ; B 0 0 0 0 ;
+C 109 ; WX 1204 ; N m ; B 0 0 0 0 ;
+C 110 ; WX 1204 ; N n ; B 0 0 0 0 ;
+C 111 ; WX 1204 ; N o ; B -20 -298 1220 942 ;
+C 112 ; WX 1204 ; N p ; B -20 -298 1220 942 ;
+C 113 ; WX 1204 ; N q ; B 0 0 0 0 ;
+C 114 ; WX 1204 ; N r ; B 0 0 0 0 ;
+C 115 ; WX 1204 ; N s ; B 0 0 0 0 ;
+C 116 ; WX 1204 ; N t ; B 0 0 0 0 ;
+C 117 ; WX 1204 ; N u ; B 0 0 0 0 ;
+C 118 ; WX 1204 ; N v ; B 0 0 0 0 ;
+C 119 ; WX 1204 ; N w ; B 0 0 0 0 ;
+C 120 ; WX 1204 ; N x ; B 0 0 0 0 ;
+C 121 ; WX 1204 ; N y ; B 0 0 0 0 ;
+C 122 ; WX 1204 ; N z ; B 0 0 0 0 ;
+C 124 ; WX 80 ; N bar ; B 0 0 0 0 ;
+C 126 ; WX 1204 ; N asciitilde ; B 0 0 0 0 ;
+C 127 ; WX 1204 ; N hyphen ; B 0 0 0 0 ;
+C 128 ; WX 1204 ; N Abreve ; B 0 0 0 0 ;
+C 129 ; WX 1204 ; N Aogonek ; B 0 0 0 0 ;
+C 130 ; WX 1204 ; N Cacute ; B -20 -298 1220 942 ;
+C 131 ; WX 1204 ; N Ccaron ; B -20 -298 1220 942 ;
+C 132 ; WX 1204 ; N Dcaron ; B 0 0 0 0 ;
+C 133 ; WX 1204 ; N Ecaron ; B -20 -298 1220 942 ;
+C 134 ; WX 1204 ; N Eogonek ; B 0 0 0 0 ;
+C 135 ; WX 1204 ; N Gbreve ; B 0 0 0 0 ;
+C 136 ; WX 1204 ; N Lacute ; B -20 -298 1220 942 ;
+C 137 ; WX 1204 ; N Lcaron ; B 0 0 0 0 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/knitting/knitnr.afm b/Master/texmf-dist/fonts/afm/public/knitting/knitnr.afm
new file mode 100644
index 00000000000..e5977c9c09e
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/knitting/knitnr.afm
@@ -0,0 +1,145 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20070915
+Comment Creation Date: Sat Jan 16 18:32:53 2010
+FontName KnittingSymbols-nogrid-raised-Medium
+FullName KnittingSymbols-nogrid-raised
+FamilyName KnittingSymbols-nogrid-raised
+Weight Medium
+Notice (Font converted to Type 1 by mf2pt1, written by Scott Pakin.)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox -1035 -298 5611 942
+CapHeight 738
+XHeight 712
+Ascender 455
+Descender 287
+StartCharMetrics 123
+C 0 ; WX 1204 ; N grave ; B 197 17 1003 822 ;
+C 1 ; WX 1204 ; N acute ; B 312 540 888 862 ;
+C 2 ; WX 1204 ; N circumflex ; B 312 540 888 862 ;
+C 3 ; WX 1204 ; N tilde ; B 313 -23 887 300 ;
+C 4 ; WX 1204 ; N dieresis ; B 313 -23 887 300 ;
+C 5 ; WX 0 ; N hungarumlaut ; B -1000 652 200 722 ;
+C 6 ; WX 0 ; N ring ; B -1000 -78 200 -8 ;
+C 7 ; WX 0 ; N caron ; B -200 652 1000 722 ;
+C 8 ; WX 0 ; N breve ; B -200 -78 1000 -8 ;
+C 9 ; WX 0 ; N macron ; B -1000 -78 -200 -8 ;
+C 10 ; WX 0 ; N dotaccent ; B -1000 652 -200 722 ;
+C 11 ; WX 0 ; N cedilla ; B 200 652 1000 722 ;
+C 12 ; WX 0 ; N ogonek ; B 200 -78 1000 -8 ;
+C 13 ; WX 0 ; N quotesinglbase ; B -235 -78 235 722 ;
+C 14 ; WX 0 ; N guilsinglleft ; B -235 -78 235 722 ;
+C 17 ; WX 1204 ; N quotedblright ; B 0 77 1200 762 ;
+C 18 ; WX 1204 ; N quotedblbase ; B 0 127 1060 712 ;
+C 19 ; WX 1204 ; N guillemotleft ; B 50 -114 960 757 ;
+C 20 ; WX 1204 ; N guillemotright ; B 165 186 1035 458 ;
+C 21 ; WX 1204 ; N endash ; B 165 186 1035 458 ;
+C 22 ; WX 602 ; N emdash ; B 0 350 600 490 ;
+C 23 ; WX 1204 ; N compwordmark ; B 0 77 1200 762 ;
+C 24 ; WX 1204 ; N perthousandzero ; B 0 77 1040 762 ;
+C 25 ; WX 602 ; N dotlessi ; B 190 350 600 862 ;
+C 26 ; WX 602 ; N dotlessj ; B 0 350 411 862 ;
+C 27 ; WX 602 ; N ff ; B 190 -23 600 490 ;
+C 28 ; WX 602 ; N fi ; B 0 -23 411 490 ;
+C 29 ; WX 1204 ; N fl ; B 0 -23 1200 490 ;
+C 30 ; WX 1204 ; N ffi ; B 0 350 1200 862 ;
+C 31 ; WX 6022 ; N ffl ; B 390 -23 5611 862 ;
+C 33 ; WX 1204 ; N exclam ; B 308 127 892 712 ;
+C 34 ; WX 1204 ; N quotedbl ; B 240 -114 1150 757 ;
+C 39 ; WX 602 ; N quoteright ; B 0 0 0 0 ;
+C 40 ; WX 1204 ; N parenleft ; B 308 127 853 712 ;
+C 41 ; WX 1204 ; N parenright ; B 348 127 893 712 ;
+C 42 ; WX 1204 ; N asterisk ; B 342 127 858 712 ;
+C 43 ; WX 1204 ; N plus ; B 165 186 1035 458 ;
+C 44 ; WX 1204 ; N comma ; B 0 0 0 0 ;
+C 45 ; WX 1204 ; N hyphen ; B 565 127 635 712 ;
+C 46 ; WX 1204 ; N period ; B 0 0 0 0 ;
+C 47 ; WX 1204 ; N slash ; B 165 12 1035 632 ;
+C 49 ; WX 1204 ; N one ; B 140 127 1200 712 ;
+C 50 ; WX 1204 ; N two ; B 308 127 892 712 ;
+C 51 ; WX 1204 ; N three ; B 258 77 903 762 ;
+C 52 ; WX 1204 ; N four ; B 310 127 890 712 ;
+C 53 ; WX 1204 ; N five ; B 310 127 890 712 ;
+C 58 ; WX 1204 ; N colon ; B 308 127 853 712 ;
+C 59 ; WX 1204 ; N semicolon ; B 348 127 892 712 ;
+C 60 ; WX 1204 ; N less ; B 348 127 892 712 ;
+C 61 ; WX 1204 ; N equal ; B 353 287 847 357 ;
+C 62 ; WX 1204 ; N greater ; B 308 127 853 712 ;
+C 63 ; WX 1204 ; N question ; B 160 77 1200 762 ;
+C 64 ; WX 1204 ; N at ; B 307 29 893 615 ;
+C 65 ; WX 1204 ; N A ; B 258 77 903 762 ;
+C 66 ; WX 1204 ; N B ; B 380 127 820 760 ;
+C 67 ; WX 1204 ; N C ; B 565 167 635 477 ;
+C 68 ; WX 1204 ; N D ; B 445 127 795 517 ;
+C 69 ; WX 1204 ; N E ; B 258 77 943 762 ;
+C 70 ; WX 1204 ; N F ; B -35 287 1235 672 ;
+C 71 ; WX 1204 ; N G ; B 353 287 847 357 ;
+C 72 ; WX 1204 ; N H ; B 476 117 724 757 ;
+C 73 ; WX 1204 ; N I ; B 348 127 916 738 ;
+C 74 ; WX 1204 ; N J ; B 284 127 853 738 ;
+C 75 ; WX 1204 ; N K ; B 565 167 635 477 ;
+C 76 ; WX 1204 ; N L ; B 298 77 943 762 ;
+C 77 ; WX 1204 ; N M ; B 300 210 900 630 ;
+C 78 ; WX 1204 ; N N ; B 300 112 900 532 ;
+C 79 ; WX 1204 ; N O ; B 308 127 892 712 ;
+C 80 ; WX 1204 ; N P ; B 353 287 847 357 ;
+C 81 ; WX 1204 ; N Q ; B 380 127 820 760 ;
+C 82 ; WX 1204 ; N R ; B 258 77 903 762 ;
+C 83 ; WX 1204 ; N S ; B 165 263 1000 576 ;
+C 84 ; WX 1204 ; N T ; B 380 80 820 712 ;
+C 85 ; WX 1204 ; N U ; B -35 167 1235 672 ;
+C 86 ; WX 1204 ; N V ; B 308 127 892 712 ;
+C 87 ; WX 1204 ; N W ; B 258 77 943 762 ;
+C 88 ; WX 1204 ; N X ; B 380 80 820 712 ;
+C 89 ; WX 1204 ; N Y ; B 258 77 943 762 ;
+C 90 ; WX 1204 ; N Z ; B 197 17 1003 822 ;
+C 91 ; WX 1204 ; N bracketleft ; B 170 187 1065 652 ;
+C 93 ; WX 1204 ; N bracketright ; B 135 187 1030 652 ;
+C 94 ; WX 0 ; N asciicircum ; B -1035 652 1035 722 ;
+C 95 ; WX 0 ; N underscore ; B -1035 -78 1035 -8 ;
+C 96 ; WX 602 ; N quoteleft ; B 0 0 0 0 ;
+C 97 ; WX 1204 ; N a ; B 258 77 943 762 ;
+C 98 ; WX 1204 ; N b ; B 380 127 820 760 ;
+C 99 ; WX 1204 ; N c ; B 565 167 635 672 ;
+C 100 ; WX 1204 ; N d ; B 348 127 892 712 ;
+C 101 ; WX 1204 ; N e ; B 300 210 900 630 ;
+C 102 ; WX 1204 ; N f ; B -35 287 1235 672 ;
+C 103 ; WX 1204 ; N g ; B 353 287 847 357 ;
+C 104 ; WX 1204 ; N h ; B 476 82 724 722 ;
+C 105 ; WX 1204 ; N i ; B 348 127 916 738 ;
+C 106 ; WX 1204 ; N j ; B 284 127 853 738 ;
+C 107 ; WX 1204 ; N k ; B 565 167 635 672 ;
+C 108 ; WX 1204 ; N l ; B 258 77 635 455 ;
+C 109 ; WX 1204 ; N m ; B 300 210 900 630 ;
+C 110 ; WX 1204 ; N n ; B 300 210 900 630 ;
+C 111 ; WX 1204 ; N o ; B 348 127 892 712 ;
+C 112 ; WX 1204 ; N p ; B 353 287 847 357 ;
+C 113 ; WX 1204 ; N q ; B 380 127 820 760 ;
+C 114 ; WX 1204 ; N r ; B 258 77 943 762 ;
+C 115 ; WX 1204 ; N s ; B 200 263 1035 576 ;
+C 116 ; WX 1204 ; N t ; B 380 80 820 712 ;
+C 117 ; WX 1204 ; N u ; B 310 127 890 712 ;
+C 118 ; WX 1204 ; N v ; B 308 127 892 712 ;
+C 119 ; WX 1204 ; N w ; B 258 77 943 762 ;
+C 120 ; WX 1204 ; N x ; B 380 80 820 712 ;
+C 121 ; WX 1204 ; N y ; B 310 127 890 712 ;
+C 122 ; WX 1204 ; N z ; B 297 117 903 722 ;
+C 124 ; WX 80 ; N bar ; B 0 -298 80 942 ;
+C 126 ; WX 1204 ; N asciitilde ; B 0 0 0 0 ;
+C 127 ; WX 1204 ; N hyphen ; B 565 127 635 712 ;
+C 128 ; WX 1204 ; N Abreve ; B 565 167 635 672 ;
+C 129 ; WX 1204 ; N Aogonek ; B 565 167 635 477 ;
+C 130 ; WX 1204 ; N Cacute ; B 353 287 847 357 ;
+C 131 ; WX 1204 ; N Ccaron ; B 353 287 847 357 ;
+C 132 ; WX 1204 ; N Dcaron ; B 300 210 900 630 ;
+C 133 ; WX 1204 ; N Ecaron ; B 300 210 900 630 ;
+C 134 ; WX 1204 ; N Eogonek ; B 300 112 900 532 ;
+C 135 ; WX 1204 ; N Gbreve ; B 308 127 853 712 ;
+C 136 ; WX 1204 ; N Lacute ; B 308 127 853 712 ;
+C 137 ; WX 1204 ; N Lcaron ; B 405 127 755 517 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/knitting/knitwg.afm b/Master/texmf-dist/fonts/afm/public/knitting/knitwg.afm
new file mode 100644
index 00000000000..66b8ea7c39c
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/knitting/knitwg.afm
@@ -0,0 +1,253 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20070915
+Comment Creation Date: Sat Jan 16 18:33:10 2010
+FontName KnittingSymbols-wide-grid-Medium
+FullName KnittingSymbols-wide-grid
+FamilyName KnittingSymbols-wide-grid
+Weight Medium
+Notice (Font converted to Type 1 by mf2pt1, written by Scott Pakin.)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox -35 -293 8165 937
+CapHeight 937
+XHeight 937
+Ascender 937
+Descender -293
+StartCharMetrics 231
+C 0 ; WX 1636 ; N grave ; B -15 -293 1645 937 ;
+C 1 ; WX 1636 ; N acute ; B -15 -293 1645 937 ;
+C 2 ; WX 1636 ; N circumflex ; B -15 -293 1645 937 ;
+C 3 ; WX 1636 ; N tilde ; B -15 -293 1645 937 ;
+C 4 ; WX 1636 ; N dieresis ; B -15 -293 1645 937 ;
+C 5 ; WX 1636 ; N hungarumlaut ; B -15 -293 1645 937 ;
+C 6 ; WX 0 ; N ring ; B -15 -293 15 937 ;
+C 17 ; WX 1636 ; N quotedblright ; B -15 -293 1645 937 ;
+C 18 ; WX 1636 ; N quotedblbase ; B -15 -293 1645 937 ;
+C 19 ; WX 1636 ; N guillemotleft ; B 265 -114 1175 757 ;
+C 20 ; WX 1636 ; N guillemotright ; B -15 -293 1645 937 ;
+C 21 ; WX 1636 ; N endash ; B -15 -293 1645 937 ;
+C 22 ; WX 818 ; N emdash ; B 0 -293 815 937 ;
+C 23 ; WX 1636 ; N compwordmark ; B -15 -293 1645 937 ;
+C 24 ; WX 1636 ; N perthousandzero ; B -15 -293 1645 937 ;
+C 25 ; WX 818 ; N dotlessi ; B -15 -293 815 937 ;
+C 26 ; WX 818 ; N dotlessj ; B 0 -293 830 937 ;
+C 27 ; WX 818 ; N ff ; B -15 -293 815 937 ;
+C 28 ; WX 818 ; N fi ; B 0 -293 830 937 ;
+C 29 ; WX 1636 ; N fl ; B 0 -293 1630 937 ;
+C 30 ; WX 1636 ; N ffi ; B 0 -293 1630 937 ;
+C 31 ; WX 8181 ; N ffl ; B -15 -293 8165 937 ;
+C 33 ; WX 1636 ; N exclam ; B -15 -293 1645 937 ;
+C 34 ; WX 1636 ; N quotedbl ; B 455 -114 1365 757 ;
+C 39 ; WX 818 ; N quoteright ; B 0 0 0 0 ;
+C 40 ; WX 1636 ; N parenleft ; B -15 -293 1645 937 ;
+C 41 ; WX 1636 ; N parenright ; B -15 -293 1645 937 ;
+C 42 ; WX 1636 ; N asterisk ; B -15 -293 1645 937 ;
+C 43 ; WX 1636 ; N plus ; B -15 -293 1645 937 ;
+C 44 ; WX 1636 ; N comma ; B -15 -293 1645 937 ;
+C 45 ; WX 1636 ; N hyphen ; B -15 -293 1645 937 ;
+C 46 ; WX 1636 ; N period ; B -15 -293 1645 937 ;
+C 47 ; WX 1636 ; N slash ; B -15 -293 1645 937 ;
+C 49 ; WX 1636 ; N one ; B -15 -293 1645 937 ;
+C 50 ; WX 1636 ; N two ; B -15 -293 1645 937 ;
+C 51 ; WX 1636 ; N three ; B -15 -293 1645 937 ;
+C 52 ; WX 1636 ; N four ; B -15 -293 1645 937 ;
+C 53 ; WX 1636 ; N five ; B -15 -293 1645 937 ;
+C 58 ; WX 1636 ; N colon ; B -15 -293 1645 937 ;
+C 59 ; WX 1636 ; N semicolon ; B -15 -293 1645 937 ;
+C 60 ; WX 1636 ; N less ; B -15 -293 1645 937 ;
+C 61 ; WX 1636 ; N equal ; B -15 -293 1645 937 ;
+C 62 ; WX 1636 ; N greater ; B -15 -293 1645 937 ;
+C 63 ; WX 1636 ; N question ; B -15 -293 1645 937 ;
+C 64 ; WX 1636 ; N at ; B -15 -293 1645 937 ;
+C 65 ; WX 1636 ; N A ; B -15 -293 1645 937 ;
+C 66 ; WX 1636 ; N B ; B -15 -293 1645 937 ;
+C 67 ; WX 1636 ; N C ; B -15 -293 1645 937 ;
+C 68 ; WX 1636 ; N D ; B -15 -293 1645 937 ;
+C 69 ; WX 1636 ; N E ; B 425 -68 1205 712 ;
+C 70 ; WX 1636 ; N F ; B -35 287 1665 622 ;
+C 71 ; WX 1636 ; N G ; B -15 -293 1645 937 ;
+C 72 ; WX 1636 ; N H ; B -15 -293 1645 937 ;
+C 73 ; WX 1636 ; N I ; B -15 -293 1645 937 ;
+C 74 ; WX 1636 ; N J ; B -15 -293 1645 937 ;
+C 75 ; WX 1636 ; N K ; B -15 -293 1645 937 ;
+C 76 ; WX 1636 ; N L ; B -15 -293 1645 937 ;
+C 77 ; WX 1636 ; N M ; B -15 -293 1645 937 ;
+C 78 ; WX 1636 ; N N ; B -15 -293 1645 937 ;
+C 79 ; WX 1636 ; N O ; B -15 -293 1645 937 ;
+C 80 ; WX 1636 ; N P ; B -15 -293 1645 937 ;
+C 81 ; WX 1636 ; N Q ; B -15 -293 1645 937 ;
+C 82 ; WX 1636 ; N R ; B -15 -293 1645 937 ;
+C 83 ; WX 1636 ; N S ; B -15 -293 1645 937 ;
+C 84 ; WX 1636 ; N T ; B -15 -293 1645 937 ;
+C 85 ; WX 1636 ; N U ; B -35 22 1665 622 ;
+C 86 ; WX 1636 ; N V ; B -15 -293 1645 937 ;
+C 87 ; WX 1636 ; N W ; B -15 -293 1645 937 ;
+C 88 ; WX 1636 ; N X ; B -15 -293 1645 937 ;
+C 89 ; WX 1636 ; N Y ; B -15 -293 1645 937 ;
+C 90 ; WX 1636 ; N Z ; B -15 -293 1645 937 ;
+C 91 ; WX 1636 ; N bracketleft ; B -15 -293 1645 937 ;
+C 93 ; WX 1636 ; N bracketright ; B -15 -293 1645 937 ;
+C 96 ; WX 818 ; N quoteleft ; B 0 0 0 0 ;
+C 97 ; WX 1636 ; N a ; B -15 -293 1645 937 ;
+C 98 ; WX 1636 ; N b ; B -15 -293 1645 937 ;
+C 99 ; WX 1636 ; N c ; B -15 -293 1645 937 ;
+C 100 ; WX 1636 ; N d ; B -15 -293 1645 937 ;
+C 101 ; WX 1636 ; N e ; B -15 -293 1645 937 ;
+C 102 ; WX 1636 ; N f ; B -35 287 1665 622 ;
+C 103 ; WX 1636 ; N g ; B -15 -293 1645 937 ;
+C 104 ; WX 1636 ; N h ; B -15 -293 1645 937 ;
+C 105 ; WX 1636 ; N i ; B -15 -293 1645 937 ;
+C 106 ; WX 1636 ; N j ; B -15 -293 1645 937 ;
+C 107 ; WX 1636 ; N k ; B -15 -293 1645 937 ;
+C 108 ; WX 1636 ; N l ; B -15 -293 1645 937 ;
+C 109 ; WX 1636 ; N m ; B -15 -293 1645 937 ;
+C 110 ; WX 1636 ; N n ; B -15 -293 1645 937 ;
+C 111 ; WX 1636 ; N o ; B -15 -293 1645 937 ;
+C 112 ; WX 1636 ; N p ; B -15 -293 1645 937 ;
+C 113 ; WX 1636 ; N q ; B -15 -293 1645 937 ;
+C 114 ; WX 1636 ; N r ; B -15 -293 1645 937 ;
+C 115 ; WX 1636 ; N s ; B -15 -293 1645 937 ;
+C 116 ; WX 1636 ; N t ; B -15 -293 1645 937 ;
+C 117 ; WX 1636 ; N u ; B -15 -293 1645 937 ;
+C 118 ; WX 1636 ; N v ; B -15 -293 1645 937 ;
+C 119 ; WX 1636 ; N w ; B -15 -293 1645 937 ;
+C 120 ; WX 1636 ; N x ; B -15 -293 1645 937 ;
+C 121 ; WX 1636 ; N y ; B -15 -293 1645 937 ;
+C 122 ; WX 1636 ; N z ; B -15 -293 1645 937 ;
+C 124 ; WX 151 ; N bar ; B 0 0 0 0 ;
+C 126 ; WX 1636 ; N asciitilde ; B 0 0 0 0 ;
+C 127 ; WX 1636 ; N hyphen ; B -15 -293 1645 937 ;
+C 128 ; WX 3272 ; N Abreve ; B -15 -293 3275 937 ;
+C 129 ; WX 3272 ; N Aogonek ; B -15 -293 3275 937 ;
+C 130 ; WX 3272 ; N Cacute ; B -15 -293 3275 937 ;
+C 131 ; WX 3272 ; N Ccaron ; B -15 -293 3275 937 ;
+C 132 ; WX 4908 ; N Dcaron ; B -15 -293 4905 937 ;
+C 133 ; WX 4908 ; N Ecaron ; B -15 -293 4905 937 ;
+C 134 ; WX 4908 ; N Eogonek ; B -15 -293 4905 937 ;
+C 135 ; WX 4908 ; N Gbreve ; B -15 -293 4905 937 ;
+C 136 ; WX 3272 ; N Lacute ; B -15 -293 3275 937 ;
+C 137 ; WX 3272 ; N Lcaron ; B -15 -293 3275 937 ;
+C 138 ; WX 3272 ; N Lslash ; B -15 -293 3275 937 ;
+C 139 ; WX 3272 ; N Nacute ; B -15 -293 3275 937 ;
+C 140 ; WX 3272 ; N Ncaron ; B -15 -293 3275 937 ;
+C 141 ; WX 3272 ; N Eng ; B -15 -293 3275 937 ;
+C 142 ; WX 3272 ; N Odblacute ; B -15 -293 3275 937 ;
+C 143 ; WX 3272 ; N Racute ; B -15 -293 3275 937 ;
+C 144 ; WX 3272 ; N Rcaron ; B -15 -293 3275 937 ;
+C 145 ; WX 3272 ; N Sacute ; B -15 -293 3275 937 ;
+C 146 ; WX 3272 ; N Scaron ; B -15 -293 3275 937 ;
+C 147 ; WX 3272 ; N Scedilla ; B -15 -293 3275 937 ;
+C 148 ; WX 4908 ; N Tcaron ; B -15 -293 4905 937 ;
+C 149 ; WX 4908 ; N Tcedilla ; B -15 -293 4905 937 ;
+C 150 ; WX 4908 ; N Udblacute ; B -15 -293 4905 937 ;
+C 151 ; WX 4908 ; N Uring ; B -15 -293 4905 937 ;
+C 152 ; WX 4908 ; N Ydieresis ; B -15 -293 4905 937 ;
+C 153 ; WX 4908 ; N Zacute ; B -15 -293 4905 937 ;
+C 154 ; WX 4908 ; N Zcaron ; B -15 -293 4905 937 ;
+C 155 ; WX 4908 ; N Zdot ; B -15 -293 4905 937 ;
+C 156 ; WX 4908 ; N IJ ; B -15 -293 4905 937 ;
+C 157 ; WX 4908 ; N Idot ; B -15 -293 4905 937 ;
+C 158 ; WX 4908 ; N dmacron ; B -15 -293 4905 937 ;
+C 159 ; WX 4908 ; N section ; B -15 -293 4905 937 ;
+C 160 ; WX 4908 ; N abreve ; B -15 -293 4905 937 ;
+C 161 ; WX 4908 ; N aogonek ; B -15 -293 4905 937 ;
+C 162 ; WX 4908 ; N cacute ; B -15 -293 4905 937 ;
+C 163 ; WX 4908 ; N ccaron ; B -15 -293 4905 937 ;
+C 164 ; WX 6544 ; N dcaron ; B -15 -293 6535 937 ;
+C 165 ; WX 6544 ; N ecaron ; B -15 -293 6535 937 ;
+C 166 ; WX 6544 ; N eogonek ; B -15 -293 6535 937 ;
+C 167 ; WX 6544 ; N gbreve ; B -15 -293 6535 937 ;
+C 168 ; WX 6544 ; N lacute ; B -15 -293 6535 937 ;
+C 169 ; WX 6544 ; N lcaron ; B -15 -293 6535 937 ;
+C 170 ; WX 6544 ; N lslash ; B -15 -293 6535 937 ;
+C 171 ; WX 6544 ; N nacute ; B -15 -293 6535 937 ;
+C 172 ; WX 6544 ; N ncaron ; B -15 -293 6535 937 ;
+C 173 ; WX 6544 ; N eng ; B -15 -293 6535 937 ;
+C 174 ; WX 6544 ; N odblacute ; B -15 -293 6535 937 ;
+C 175 ; WX 6544 ; N racute ; B -15 -293 6535 937 ;
+C 176 ; WX 4908 ; N rcaron ; B -15 -293 4905 937 ;
+C 177 ; WX 4908 ; N sacute ; B -15 -293 4905 937 ;
+C 178 ; WX 4908 ; N scaron ; B -15 -293 4905 937 ;
+C 179 ; WX 4908 ; N scedilla ; B -15 -293 4905 937 ;
+C 180 ; WX 4908 ; N tcaron ; B -15 -293 4905 937 ;
+C 181 ; WX 4908 ; N tcedilla ; B -15 -293 4905 937 ;
+C 182 ; WX 4908 ; N udblacute ; B -15 -293 4905 937 ;
+C 183 ; WX 4908 ; N uring ; B -15 -293 4905 937 ;
+C 184 ; WX 4908 ; N ydieresis ; B -15 -293 4905 937 ;
+C 185 ; WX 4908 ; N zacute ; B -15 -293 4905 937 ;
+C 186 ; WX 4908 ; N zcaron ; B -15 -293 4905 937 ;
+C 187 ; WX 4908 ; N zdot ; B -15 -293 4905 937 ;
+C 188 ; WX 6544 ; N ij ; B -15 -293 6535 937 ;
+C 189 ; WX 6544 ; N exclamdown ; B -15 -293 6535 937 ;
+C 190 ; WX 6544 ; N questiondown ; B -15 -293 6535 937 ;
+C 191 ; WX 6544 ; N sterling ; B -15 -293 6535 937 ;
+C 192 ; WX 6544 ; N Agrave ; B -15 -293 6535 937 ;
+C 193 ; WX 6544 ; N Aacute ; B -15 -293 6535 937 ;
+C 194 ; WX 6544 ; N Acircumflex ; B -15 -293 6535 937 ;
+C 195 ; WX 6544 ; N Atilde ; B -15 -293 6535 937 ;
+C 196 ; WX 6544 ; N Adieresis ; B -15 -293 6535 937 ;
+C 197 ; WX 6544 ; N Aring ; B -15 -293 6535 937 ;
+C 198 ; WX 6544 ; N AE ; B -15 -293 6535 937 ;
+C 199 ; WX 6544 ; N Ccedilla ; B -15 -293 6535 937 ;
+C 200 ; WX 8181 ; N Egrave ; B -15 -293 8165 937 ;
+C 201 ; WX 8181 ; N Eacute ; B -15 -293 8165 937 ;
+C 202 ; WX 8181 ; N Ecircumflex ; B -15 -293 8165 937 ;
+C 203 ; WX 8181 ; N Edieresis ; B -15 -293 8165 937 ;
+C 204 ; WX 0 ; N Igrave ; B 0 0 0 0 ;
+C 205 ; WX 0 ; N Iacute ; B 0 0 0 0 ;
+C 206 ; WX 0 ; N Icircumflex ; B 0 0 0 0 ;
+C 207 ; WX 0 ; N Idieresis ; B 0 0 0 0 ;
+C 208 ; WX 8181 ; N Eth ; B -15 -293 8165 937 ;
+C 209 ; WX 8181 ; N Ntilde ; B -15 -293 8165 937 ;
+C 210 ; WX 8181 ; N Ograve ; B -15 -293 8165 937 ;
+C 211 ; WX 8181 ; N Oacute ; B -15 -293 8165 937 ;
+C 212 ; WX 8181 ; N Ocircumflex ; B -15 -293 8165 937 ;
+C 213 ; WX 8181 ; N Otilde ; B -15 -293 8165 937 ;
+C 214 ; WX 8181 ; N Odieresis ; B -15 -293 8165 937 ;
+C 215 ; WX 8181 ; N OE ; B -15 -293 8165 937 ;
+C 216 ; WX 8181 ; N Oslash ; B -15 -293 8165 937 ;
+C 217 ; WX 8181 ; N Ugrave ; B -15 -293 8165 937 ;
+C 218 ; WX 8181 ; N Uacute ; B -15 -293 8165 937 ;
+C 219 ; WX 8181 ; N Ucircumflex ; B -15 -293 8165 937 ;
+C 220 ; WX 6544 ; N Udieresis ; B -15 -293 6535 937 ;
+C 221 ; WX 6544 ; N Yacute ; B -15 -293 6535 937 ;
+C 222 ; WX 6544 ; N Thorn ; B -15 -293 6535 937 ;
+C 223 ; WX 6544 ; N Germandbls ; B -15 -293 6535 937 ;
+C 224 ; WX 6544 ; N agrave ; B -15 -293 6535 937 ;
+C 225 ; WX 6544 ; N aacute ; B -15 -293 6535 937 ;
+C 226 ; WX 6544 ; N acircumflex ; B -15 -293 6535 937 ;
+C 227 ; WX 6544 ; N atilde ; B -15 -293 6535 937 ;
+C 228 ; WX 6544 ; N adieresis ; B -15 -293 6535 937 ;
+C 229 ; WX 6544 ; N aring ; B -15 -293 6535 937 ;
+C 230 ; WX 6544 ; N ae ; B -15 -293 6535 937 ;
+C 231 ; WX 6544 ; N ccedilla ; B -15 -293 6535 937 ;
+C 232 ; WX 8181 ; N egrave ; B -15 -293 8165 937 ;
+C 233 ; WX 8181 ; N eacute ; B -15 -293 8165 937 ;
+C 234 ; WX 8181 ; N ecircumflex ; B -15 -293 8165 937 ;
+C 235 ; WX 8181 ; N edieresis ; B -15 -293 8165 937 ;
+C 236 ; WX 8181 ; N igrave ; B -15 -293 8165 937 ;
+C 237 ; WX 8181 ; N iacute ; B -15 -293 8165 937 ;
+C 238 ; WX 8181 ; N icircumflex ; B -15 -293 8165 937 ;
+C 239 ; WX 8181 ; N idieresis ; B -15 -293 8165 937 ;
+C 240 ; WX 8181 ; N eth ; B -15 -293 8165 937 ;
+C 241 ; WX 8181 ; N ntilde ; B -15 -293 8165 937 ;
+C 242 ; WX 8181 ; N ograve ; B -15 -293 8165 937 ;
+C 243 ; WX 8181 ; N oacute ; B -15 -293 8165 937 ;
+C 244 ; WX 0 ; N ocircumflex ; B 0 0 0 0 ;
+C 245 ; WX 0 ; N otilde ; B 0 0 0 0 ;
+C 246 ; WX 0 ; N odieresis ; B 0 0 0 0 ;
+C 247 ; WX 0 ; N oe ; B 0 0 0 0 ;
+C 248 ; WX 0 ; N oslash ; B 0 0 0 0 ;
+C 249 ; WX 0 ; N ugrave ; B 0 0 0 0 ;
+C 250 ; WX 0 ; N uacute ; B 0 0 0 0 ;
+C 251 ; WX 0 ; N ucircumflex ; B 0 0 0 0 ;
+C 252 ; WX 0 ; N udieresis ; B 0 0 0 0 ;
+C 253 ; WX 0 ; N yacute ; B 0 0 0 0 ;
+C 254 ; WX 0 ; N thorn ; B 0 0 0 0 ;
+C 255 ; WX 0 ; N germandbls ; B 0 0 0 0 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/knitting/knitwn.afm b/Master/texmf-dist/fonts/afm/public/knitting/knitwn.afm
new file mode 100644
index 00000000000..1dcf2c1074f
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/knitting/knitwn.afm
@@ -0,0 +1,252 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20070915
+Comment Creation Date: Sat Jan 16 18:33:07 2010
+FontName KnittingSymbols-wide-foreground-Medium
+FullName KnittingSymbols-wide-foreground
+FamilyName KnittingSymbols-wide-foreground
+Weight Medium
+Notice (Font converted to Type 1 by mf2pt1, written by Scott Pakin.)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox -35 -293 7617 937
+CapHeight 688
+XHeight 662
+Ascender 712
+StartCharMetrics 231
+C 0 ; WX 1636 ; N grave ; B 295 -198 1335 842 ;
+C 1 ; WX 1636 ; N acute ; B 480 472 1150 842 ;
+C 2 ; WX 1636 ; N circumflex ; B 480 472 1150 842 ;
+C 3 ; WX 1636 ; N tilde ; B 480 -198 1150 172 ;
+C 4 ; WX 1636 ; N dieresis ; B 480 -198 1150 172 ;
+C 5 ; WX 1636 ; N hungarumlaut ; B 0 0 0 0 ;
+C 6 ; WX 0 ; N ring ; B 0 0 0 0 ;
+C 17 ; WX 1636 ; N quotedblright ; B 0 147 1630 217 ;
+C 18 ; WX 1636 ; N quotedblbase ; B 0 147 1440 617 ;
+C 19 ; WX 1636 ; N guillemotleft ; B 265 -114 1175 757 ;
+C 20 ; WX 1636 ; N guillemotright ; B 0 0 0 0 ;
+C 21 ; WX 1636 ; N endash ; B 0 0 0 0 ;
+C 22 ; WX 818 ; N emdash ; B 0 252 815 392 ;
+C 23 ; WX 1636 ; N compwordmark ; B 0 -28 1630 545 ;
+C 24 ; WX 1636 ; N perthousandzero ; B 0 -28 1420 712 ;
+C 25 ; WX 818 ; N dotlessi ; B 261 252 815 842 ;
+C 26 ; WX 818 ; N dotlessj ; B 0 252 554 842 ;
+C 27 ; WX 818 ; N ff ; B 261 -198 815 392 ;
+C 28 ; WX 818 ; N fi ; B 0 -198 554 392 ;
+C 29 ; WX 1636 ; N fl ; B 0 -198 1630 392 ;
+C 30 ; WX 1636 ; N ffi ; B 0 252 1630 842 ;
+C 31 ; WX 8181 ; N ffl ; B 533 -198 7617 842 ;
+C 33 ; WX 1636 ; N exclam ; B 475 -18 1155 662 ;
+C 34 ; WX 1636 ; N quotedbl ; B 455 -114 1365 757 ;
+C 39 ; WX 818 ; N quoteright ; B 0 0 0 0 ;
+C 40 ; WX 1636 ; N parenleft ; B 475 -18 1115 662 ;
+C 41 ; WX 1636 ; N parenright ; B 515 -18 1155 662 ;
+C 42 ; WX 1636 ; N asterisk ; B 516 -18 1114 662 ;
+C 43 ; WX 1636 ; N plus ; B 0 0 0 0 ;
+C 44 ; WX 1636 ; N comma ; B 515 22 1115 622 ;
+C 45 ; WX 1636 ; N hyphen ; B 0 0 0 0 ;
+C 46 ; WX 1636 ; N period ; B 515 22 1115 622 ;
+C 47 ; WX 1636 ; N slash ; B 0 0 0 0 ;
+C 49 ; WX 1636 ; N one ; B 190 147 1630 617 ;
+C 50 ; WX 1636 ; N two ; B 475 -18 1155 662 ;
+C 51 ; WX 1636 ; N three ; B 425 -68 1165 712 ;
+C 52 ; WX 1636 ; N four ; B 478 -18 1152 662 ;
+C 53 ; WX 1636 ; N five ; B 478 -18 1152 662 ;
+C 58 ; WX 1636 ; N colon ; B 475 -18 1115 662 ;
+C 59 ; WX 1636 ; N semicolon ; B 515 -18 1155 662 ;
+C 60 ; WX 1636 ; N less ; B 515 -18 1155 662 ;
+C 61 ; WX 1636 ; N equal ; B 0 0 0 0 ;
+C 62 ; WX 1636 ; N greater ; B 475 -18 1115 662 ;
+C 63 ; WX 1636 ; N question ; B 210 -28 1630 712 ;
+C 64 ; WX 1636 ; N at ; B 522 29 1108 615 ;
+C 65 ; WX 1636 ; N A ; B 425 -68 1165 712 ;
+C 66 ; WX 1636 ; N B ; B 557 -18 1073 710 ;
+C 67 ; WX 1636 ; N C ; B 0 0 0 0 ;
+C 68 ; WX 1636 ; N D ; B 0 0 0 0 ;
+C 69 ; WX 1636 ; N E ; B 425 -68 1205 712 ;
+C 70 ; WX 1636 ; N F ; B -35 287 1665 622 ;
+C 71 ; WX 1636 ; N G ; B 0 0 0 0 ;
+C 72 ; WX 1636 ; N H ; B 675 -28 955 707 ;
+C 73 ; WX 1636 ; N I ; B 515 -18 1179 688 ;
+C 74 ; WX 1636 ; N J ; B 451 -18 1115 688 ;
+C 75 ; WX 1636 ; N K ; B 0 0 0 0 ;
+C 76 ; WX 1636 ; N L ; B 465 -68 1205 712 ;
+C 77 ; WX 1636 ; N M ; B 515 112 1115 532 ;
+C 78 ; WX 1636 ; N N ; B 0 0 0 0 ;
+C 79 ; WX 1636 ; N O ; B 475 -18 1155 662 ;
+C 80 ; WX 1636 ; N P ; B 0 0 0 0 ;
+C 81 ; WX 1636 ; N Q ; B 557 -18 1073 710 ;
+C 82 ; WX 1636 ; N R ; B 425 -68 1165 712 ;
+C 83 ; WX 1636 ; N S ; B 430 182 1165 462 ;
+C 84 ; WX 1636 ; N T ; B 557 -65 1073 662 ;
+C 85 ; WX 1636 ; N U ; B -35 22 1665 622 ;
+C 86 ; WX 1636 ; N V ; B 475 -18 1155 662 ;
+C 87 ; WX 1636 ; N W ; B 425 -68 1205 712 ;
+C 88 ; WX 1636 ; N X ; B 557 -65 1073 662 ;
+C 89 ; WX 1636 ; N Y ; B 425 -68 1205 712 ;
+C 90 ; WX 1636 ; N Z ; B 335 -158 1295 802 ;
+C 91 ; WX 1636 ; N bracketleft ; B 426 110 1239 534 ;
+C 93 ; WX 1636 ; N bracketright ; B 391 110 1204 534 ;
+C 96 ; WX 818 ; N quoteleft ; B 0 0 0 0 ;
+C 97 ; WX 1636 ; N a ; B 425 -68 1205 712 ;
+C 98 ; WX 1636 ; N b ; B 557 -18 1073 710 ;
+C 99 ; WX 1636 ; N c ; B 0 0 0 0 ;
+C 100 ; WX 1636 ; N d ; B 0 0 0 0 ;
+C 101 ; WX 1636 ; N e ; B 0 0 0 0 ;
+C 102 ; WX 1636 ; N f ; B -35 287 1665 622 ;
+C 103 ; WX 1636 ; N g ; B 0 0 0 0 ;
+C 104 ; WX 1636 ; N h ; B 675 -63 955 672 ;
+C 105 ; WX 1636 ; N i ; B 515 -18 1179 688 ;
+C 106 ; WX 1636 ; N j ; B 451 -18 1115 688 ;
+C 107 ; WX 1636 ; N k ; B 0 0 0 0 ;
+C 108 ; WX 1636 ; N l ; B 425 -68 1205 712 ;
+C 109 ; WX 1636 ; N m ; B 515 112 1115 532 ;
+C 110 ; WX 1636 ; N n ; B 0 0 0 0 ;
+C 111 ; WX 1636 ; N o ; B 0 0 0 0 ;
+C 112 ; WX 1636 ; N p ; B 0 0 0 0 ;
+C 113 ; WX 1636 ; N q ; B 557 -18 1073 710 ;
+C 114 ; WX 1636 ; N r ; B 425 -68 1205 712 ;
+C 115 ; WX 1636 ; N s ; B 465 182 1200 462 ;
+C 116 ; WX 1636 ; N t ; B 557 -65 1073 662 ;
+C 117 ; WX 1636 ; N u ; B 478 -18 1152 662 ;
+C 118 ; WX 1636 ; N v ; B 475 -18 1155 662 ;
+C 119 ; WX 1636 ; N w ; B 425 -68 1205 712 ;
+C 120 ; WX 1636 ; N x ; B 557 -65 1073 662 ;
+C 121 ; WX 1636 ; N y ; B 478 -18 1152 662 ;
+C 122 ; WX 1636 ; N z ; B 465 -28 1165 672 ;
+C 124 ; WX 151 ; N bar ; B 0 -293 150 937 ;
+C 126 ; WX 1636 ; N asciitilde ; B 0 0 0 0 ;
+C 127 ; WX 1636 ; N hyphen ; B 0 0 0 0 ;
+C 128 ; WX 3272 ; N Abreve ; B 0 0 0 0 ;
+C 129 ; WX 3272 ; N Aogonek ; B 0 0 0 0 ;
+C 130 ; WX 3272 ; N Cacute ; B 0 0 0 0 ;
+C 131 ; WX 3272 ; N Ccaron ; B 0 0 0 0 ;
+C 132 ; WX 4908 ; N Dcaron ; B 0 0 0 0 ;
+C 133 ; WX 4908 ; N Ecaron ; B 0 0 0 0 ;
+C 134 ; WX 4908 ; N Eogonek ; B 0 0 0 0 ;
+C 135 ; WX 4908 ; N Gbreve ; B 0 0 0 0 ;
+C 136 ; WX 3272 ; N Lacute ; B 0 0 0 0 ;
+C 137 ; WX 3272 ; N Lcaron ; B 0 0 0 0 ;
+C 138 ; WX 3272 ; N Lslash ; B 0 0 0 0 ;
+C 139 ; WX 3272 ; N Nacute ; B 0 0 0 0 ;
+C 140 ; WX 3272 ; N Ncaron ; B 0 0 0 0 ;
+C 141 ; WX 3272 ; N Eng ; B 0 0 0 0 ;
+C 142 ; WX 3272 ; N Odblacute ; B 0 0 0 0 ;
+C 143 ; WX 3272 ; N Racute ; B 0 0 0 0 ;
+C 144 ; WX 3272 ; N Rcaron ; B 0 0 0 0 ;
+C 145 ; WX 3272 ; N Sacute ; B 0 0 0 0 ;
+C 146 ; WX 3272 ; N Scaron ; B 0 0 0 0 ;
+C 147 ; WX 3272 ; N Scedilla ; B 0 0 0 0 ;
+C 148 ; WX 4908 ; N Tcaron ; B 0 0 0 0 ;
+C 149 ; WX 4908 ; N Tcedilla ; B 0 0 0 0 ;
+C 150 ; WX 4908 ; N Udblacute ; B 0 0 0 0 ;
+C 151 ; WX 4908 ; N Uring ; B 0 0 0 0 ;
+C 152 ; WX 4908 ; N Ydieresis ; B 0 0 0 0 ;
+C 153 ; WX 4908 ; N Zacute ; B 0 0 0 0 ;
+C 154 ; WX 4908 ; N Zcaron ; B 0 0 0 0 ;
+C 155 ; WX 4908 ; N Zdot ; B 0 0 0 0 ;
+C 156 ; WX 4908 ; N IJ ; B 0 0 0 0 ;
+C 157 ; WX 4908 ; N Idot ; B 0 0 0 0 ;
+C 158 ; WX 4908 ; N dmacron ; B 0 0 0 0 ;
+C 159 ; WX 4908 ; N section ; B 0 0 0 0 ;
+C 160 ; WX 4908 ; N abreve ; B 0 0 0 0 ;
+C 161 ; WX 4908 ; N aogonek ; B 0 0 0 0 ;
+C 162 ; WX 4908 ; N cacute ; B 0 0 0 0 ;
+C 163 ; WX 4908 ; N ccaron ; B 0 0 0 0 ;
+C 164 ; WX 6544 ; N dcaron ; B 0 0 0 0 ;
+C 165 ; WX 6544 ; N ecaron ; B 0 0 0 0 ;
+C 166 ; WX 6544 ; N eogonek ; B 0 0 0 0 ;
+C 167 ; WX 6544 ; N gbreve ; B 0 0 0 0 ;
+C 168 ; WX 6544 ; N lacute ; B 0 0 0 0 ;
+C 169 ; WX 6544 ; N lcaron ; B 0 0 0 0 ;
+C 170 ; WX 6544 ; N lslash ; B 0 0 0 0 ;
+C 171 ; WX 6544 ; N nacute ; B 0 0 0 0 ;
+C 172 ; WX 6544 ; N ncaron ; B 0 0 0 0 ;
+C 173 ; WX 6544 ; N eng ; B 0 0 0 0 ;
+C 174 ; WX 6544 ; N odblacute ; B 0 0 0 0 ;
+C 175 ; WX 6544 ; N racute ; B 0 0 0 0 ;
+C 176 ; WX 4908 ; N rcaron ; B 0 0 0 0 ;
+C 177 ; WX 4908 ; N sacute ; B 0 0 0 0 ;
+C 178 ; WX 4908 ; N scaron ; B 0 0 0 0 ;
+C 179 ; WX 4908 ; N scedilla ; B 0 0 0 0 ;
+C 180 ; WX 4908 ; N tcaron ; B 0 0 0 0 ;
+C 181 ; WX 4908 ; N tcedilla ; B 0 0 0 0 ;
+C 182 ; WX 4908 ; N udblacute ; B 0 0 0 0 ;
+C 183 ; WX 4908 ; N uring ; B 0 0 0 0 ;
+C 184 ; WX 4908 ; N ydieresis ; B 0 0 0 0 ;
+C 185 ; WX 4908 ; N zacute ; B 0 0 0 0 ;
+C 186 ; WX 4908 ; N zcaron ; B 0 0 0 0 ;
+C 187 ; WX 4908 ; N zdot ; B 0 0 0 0 ;
+C 188 ; WX 6544 ; N ij ; B 0 0 0 0 ;
+C 189 ; WX 6544 ; N exclamdown ; B 0 0 0 0 ;
+C 190 ; WX 6544 ; N questiondown ; B 0 0 0 0 ;
+C 191 ; WX 6544 ; N sterling ; B 0 0 0 0 ;
+C 192 ; WX 6544 ; N Agrave ; B 0 0 0 0 ;
+C 193 ; WX 6544 ; N Aacute ; B 0 0 0 0 ;
+C 194 ; WX 6544 ; N Acircumflex ; B 0 0 0 0 ;
+C 195 ; WX 6544 ; N Atilde ; B 0 0 0 0 ;
+C 196 ; WX 6544 ; N Adieresis ; B 0 0 0 0 ;
+C 197 ; WX 6544 ; N Aring ; B 0 0 0 0 ;
+C 198 ; WX 6544 ; N AE ; B 0 0 0 0 ;
+C 199 ; WX 6544 ; N Ccedilla ; B 0 0 0 0 ;
+C 200 ; WX 8181 ; N Egrave ; B 0 0 0 0 ;
+C 201 ; WX 8181 ; N Eacute ; B 0 0 0 0 ;
+C 202 ; WX 8181 ; N Ecircumflex ; B 0 0 0 0 ;
+C 203 ; WX 8181 ; N Edieresis ; B 0 0 0 0 ;
+C 204 ; WX 0 ; N Igrave ; B 0 0 0 0 ;
+C 205 ; WX 0 ; N Iacute ; B 0 0 0 0 ;
+C 206 ; WX 0 ; N Icircumflex ; B 0 0 0 0 ;
+C 207 ; WX 0 ; N Idieresis ; B 0 0 0 0 ;
+C 208 ; WX 8181 ; N Eth ; B 0 0 0 0 ;
+C 209 ; WX 8181 ; N Ntilde ; B 0 0 0 0 ;
+C 210 ; WX 8181 ; N Ograve ; B 0 0 0 0 ;
+C 211 ; WX 8181 ; N Oacute ; B 0 0 0 0 ;
+C 212 ; WX 8181 ; N Ocircumflex ; B 0 0 0 0 ;
+C 213 ; WX 8181 ; N Otilde ; B 0 0 0 0 ;
+C 214 ; WX 8181 ; N Odieresis ; B 0 0 0 0 ;
+C 215 ; WX 8181 ; N OE ; B 0 0 0 0 ;
+C 216 ; WX 8181 ; N Oslash ; B 0 0 0 0 ;
+C 217 ; WX 8181 ; N Ugrave ; B 0 0 0 0 ;
+C 218 ; WX 8181 ; N Uacute ; B 0 0 0 0 ;
+C 219 ; WX 8181 ; N Ucircumflex ; B 0 0 0 0 ;
+C 220 ; WX 6544 ; N Udieresis ; B 0 0 0 0 ;
+C 221 ; WX 6544 ; N Yacute ; B 0 0 0 0 ;
+C 222 ; WX 6544 ; N Thorn ; B 0 0 0 0 ;
+C 223 ; WX 6544 ; N Germandbls ; B 0 0 0 0 ;
+C 224 ; WX 6544 ; N agrave ; B 0 0 0 0 ;
+C 225 ; WX 6544 ; N aacute ; B 0 0 0 0 ;
+C 226 ; WX 6544 ; N acircumflex ; B 0 0 0 0 ;
+C 227 ; WX 6544 ; N atilde ; B 0 0 0 0 ;
+C 228 ; WX 6544 ; N adieresis ; B 0 0 0 0 ;
+C 229 ; WX 6544 ; N aring ; B 0 0 0 0 ;
+C 230 ; WX 6544 ; N ae ; B 0 0 0 0 ;
+C 231 ; WX 6544 ; N ccedilla ; B 0 0 0 0 ;
+C 232 ; WX 8181 ; N egrave ; B 0 0 0 0 ;
+C 233 ; WX 8181 ; N eacute ; B 0 0 0 0 ;
+C 234 ; WX 8181 ; N ecircumflex ; B 0 0 0 0 ;
+C 235 ; WX 8181 ; N edieresis ; B 0 0 0 0 ;
+C 236 ; WX 8181 ; N igrave ; B 0 0 0 0 ;
+C 237 ; WX 8181 ; N iacute ; B 0 0 0 0 ;
+C 238 ; WX 8181 ; N icircumflex ; B 0 0 0 0 ;
+C 239 ; WX 8181 ; N idieresis ; B 0 0 0 0 ;
+C 240 ; WX 8181 ; N eth ; B 0 0 0 0 ;
+C 241 ; WX 8181 ; N ntilde ; B 0 0 0 0 ;
+C 242 ; WX 8181 ; N ograve ; B 0 0 0 0 ;
+C 243 ; WX 8181 ; N oacute ; B 0 0 0 0 ;
+C 244 ; WX 0 ; N ocircumflex ; B 0 0 0 0 ;
+C 245 ; WX 0 ; N otilde ; B 0 0 0 0 ;
+C 246 ; WX 0 ; N odieresis ; B 0 0 0 0 ;
+C 247 ; WX 0 ; N oe ; B 0 0 0 0 ;
+C 248 ; WX 0 ; N oslash ; B 0 0 0 0 ;
+C 249 ; WX 0 ; N ugrave ; B 0 0 0 0 ;
+C 250 ; WX 0 ; N uacute ; B 0 0 0 0 ;
+C 251 ; WX 0 ; N ucircumflex ; B 0 0 0 0 ;
+C 252 ; WX 0 ; N udieresis ; B 0 0 0 0 ;
+C 253 ; WX 0 ; N yacute ; B 0 0 0 0 ;
+C 254 ; WX 0 ; N thorn ; B 0 0 0 0 ;
+C 255 ; WX 0 ; N germandbls ; B 0 0 0 0 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/afm/public/knitting/knitwp.afm b/Master/texmf-dist/fonts/afm/public/knitting/knitwp.afm
new file mode 100644
index 00000000000..500b4ac8c8f
--- /dev/null
+++ b/Master/texmf-dist/fonts/afm/public/knitting/knitwp.afm
@@ -0,0 +1,251 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20070915
+Comment Creation Date: Sat Jan 16 18:33:11 2010
+FontName KnittingSymbols-wide-purl-Medium
+FullName KnittingSymbols-wide-purl
+FamilyName KnittingSymbols-wide-purl
+Weight Medium
+Notice (Font converted to Type 1 by mf2pt1, written by Scott Pakin.)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox 0 -278 8150 922
+CapHeight 922
+Descender -278
+StartCharMetrics 231
+C 0 ; WX 1636 ; N grave ; B 0 0 0 0 ;
+C 1 ; WX 1636 ; N acute ; B 0 0 0 0 ;
+C 2 ; WX 1636 ; N circumflex ; B 0 -278 1630 922 ;
+C 3 ; WX 1636 ; N tilde ; B 0 0 0 0 ;
+C 4 ; WX 1636 ; N dieresis ; B 0 -278 1630 922 ;
+C 5 ; WX 1636 ; N hungarumlaut ; B 0 0 0 0 ;
+C 6 ; WX 0 ; N ring ; B 0 0 0 0 ;
+C 17 ; WX 1636 ; N quotedblright ; B 0 0 0 0 ;
+C 18 ; WX 1636 ; N quotedblbase ; B 0 0 0 0 ;
+C 19 ; WX 1636 ; N guillemotleft ; B 0 0 0 0 ;
+C 20 ; WX 1636 ; N guillemotright ; B 0 -278 1630 922 ;
+C 21 ; WX 1636 ; N endash ; B 0 -278 1630 922 ;
+C 22 ; WX 818 ; N emdash ; B 0 0 0 0 ;
+C 23 ; WX 1636 ; N compwordmark ; B 0 0 0 0 ;
+C 24 ; WX 1636 ; N perthousandzero ; B 0 0 0 0 ;
+C 25 ; WX 818 ; N dotlessi ; B 0 0 0 0 ;
+C 26 ; WX 818 ; N dotlessj ; B 0 0 0 0 ;
+C 27 ; WX 818 ; N ff ; B 0 0 0 0 ;
+C 28 ; WX 818 ; N fi ; B 0 0 0 0 ;
+C 29 ; WX 1636 ; N fl ; B 0 0 0 0 ;
+C 30 ; WX 1636 ; N ffi ; B 0 0 0 0 ;
+C 31 ; WX 8181 ; N ffl ; B 0 0 0 0 ;
+C 33 ; WX 1636 ; N exclam ; B 0 0 0 0 ;
+C 34 ; WX 1636 ; N quotedbl ; B 0 0 0 0 ;
+C 39 ; WX 818 ; N quoteright ; B 0 -278 815 922 ;
+C 40 ; WX 1636 ; N parenleft ; B 0 0 0 0 ;
+C 41 ; WX 1636 ; N parenright ; B 0 0 0 0 ;
+C 42 ; WX 1636 ; N asterisk ; B 0 0 0 0 ;
+C 43 ; WX 1636 ; N plus ; B 0 -278 1630 922 ;
+C 44 ; WX 1636 ; N comma ; B 0 -278 1630 922 ;
+C 45 ; WX 1636 ; N hyphen ; B 0 0 0 0 ;
+C 46 ; WX 1636 ; N period ; B 0 0 0 0 ;
+C 47 ; WX 1636 ; N slash ; B 0 -278 1630 922 ;
+C 49 ; WX 1636 ; N one ; B 0 0 0 0 ;
+C 50 ; WX 1636 ; N two ; B 0 -278 1630 922 ;
+C 51 ; WX 1636 ; N three ; B 0 -278 1630 922 ;
+C 52 ; WX 1636 ; N four ; B 0 0 0 0 ;
+C 53 ; WX 1636 ; N five ; B 0 0 0 0 ;
+C 58 ; WX 1636 ; N colon ; B 0 -278 1630 922 ;
+C 59 ; WX 1636 ; N semicolon ; B 0 -278 1630 922 ;
+C 60 ; WX 1636 ; N less ; B 0 0 0 0 ;
+C 61 ; WX 1636 ; N equal ; B 0 -278 1630 922 ;
+C 62 ; WX 1636 ; N greater ; B 0 0 0 0 ;
+C 63 ; WX 1636 ; N question ; B 0 0 0 0 ;
+C 64 ; WX 1636 ; N at ; B 0 0 0 0 ;
+C 65 ; WX 1636 ; N A ; B 0 0 0 0 ;
+C 66 ; WX 1636 ; N B ; B 0 -278 1630 922 ;
+C 67 ; WX 1636 ; N C ; B 0 0 0 0 ;
+C 68 ; WX 1636 ; N D ; B 0 0 0 0 ;
+C 69 ; WX 1636 ; N E ; B 460 -33 1170 677 ;
+C 70 ; WX 1636 ; N F ; B 0 -278 1630 922 ;
+C 71 ; WX 1636 ; N G ; B 0 -278 1630 922 ;
+C 72 ; WX 1636 ; N H ; B 0 0 0 0 ;
+C 73 ; WX 1636 ; N I ; B 0 -278 1630 922 ;
+C 74 ; WX 1636 ; N J ; B 0 -278 1630 922 ;
+C 75 ; WX 1636 ; N K ; B 0 0 0 0 ;
+C 76 ; WX 1636 ; N L ; B 0 0 0 0 ;
+C 77 ; WX 1636 ; N M ; B 0 -278 1630 922 ;
+C 78 ; WX 1636 ; N N ; B 0 0 0 0 ;
+C 79 ; WX 1636 ; N O ; B 0 0 0 0 ;
+C 80 ; WX 1636 ; N P ; B 0 -278 1630 922 ;
+C 81 ; WX 1636 ; N Q ; B 0 -278 1630 922 ;
+C 82 ; WX 1636 ; N R ; B 0 0 0 0 ;
+C 83 ; WX 1636 ; N S ; B 0 0 0 0 ;
+C 84 ; WX 1636 ; N T ; B 0 -278 1630 922 ;
+C 85 ; WX 1636 ; N U ; B 0 0 0 0 ;
+C 86 ; WX 1636 ; N V ; B 0 -278 1630 922 ;
+C 87 ; WX 1636 ; N W ; B 0 -278 1630 922 ;
+C 88 ; WX 1636 ; N X ; B 0 -278 1630 922 ;
+C 89 ; WX 1636 ; N Y ; B 0 0 0 0 ;
+C 90 ; WX 1636 ; N Z ; B 0 0 0 0 ;
+C 91 ; WX 1636 ; N bracketleft ; B 0 0 0 0 ;
+C 93 ; WX 1636 ; N bracketright ; B 0 0 0 0 ;
+C 96 ; WX 818 ; N quoteleft ; B 0 0 0 0 ;
+C 97 ; WX 1636 ; N a ; B 0 0 0 0 ;
+C 98 ; WX 1636 ; N b ; B 0 0 0 0 ;
+C 99 ; WX 1636 ; N c ; B 0 0 0 0 ;
+C 100 ; WX 1636 ; N d ; B 0 0 0 0 ;
+C 101 ; WX 1636 ; N e ; B 0 0 0 0 ;
+C 102 ; WX 1636 ; N f ; B 0 0 0 0 ;
+C 103 ; WX 1636 ; N g ; B 0 -278 1630 922 ;
+C 104 ; WX 1636 ; N h ; B 0 0 0 0 ;
+C 105 ; WX 1636 ; N i ; B 0 0 0 0 ;
+C 106 ; WX 1636 ; N j ; B 0 0 0 0 ;
+C 107 ; WX 1636 ; N k ; B 0 0 0 0 ;
+C 108 ; WX 1636 ; N l ; B 0 0 0 0 ;
+C 109 ; WX 1636 ; N m ; B 0 0 0 0 ;
+C 110 ; WX 1636 ; N n ; B 0 0 0 0 ;
+C 111 ; WX 1636 ; N o ; B 0 0 0 0 ;
+C 112 ; WX 1636 ; N p ; B 0 -278 1630 922 ;
+C 113 ; WX 1636 ; N q ; B 0 0 0 0 ;
+C 114 ; WX 1636 ; N r ; B 0 0 0 0 ;
+C 115 ; WX 1636 ; N s ; B 0 0 0 0 ;
+C 116 ; WX 1636 ; N t ; B 0 0 0 0 ;
+C 117 ; WX 1636 ; N u ; B 0 0 0 0 ;
+C 118 ; WX 1636 ; N v ; B 0 0 0 0 ;
+C 119 ; WX 1636 ; N w ; B 0 0 0 0 ;
+C 120 ; WX 1636 ; N x ; B 0 0 0 0 ;
+C 121 ; WX 1636 ; N y ; B 0 0 0 0 ;
+C 122 ; WX 1636 ; N z ; B 0 0 0 0 ;
+C 124 ; WX 151 ; N bar ; B 0 0 0 0 ;
+C 126 ; WX 1636 ; N asciitilde ; B 0 0 0 0 ;
+C 127 ; WX 1636 ; N hyphen ; B 0 0 0 0 ;
+C 128 ; WX 3272 ; N Abreve ; B 0 0 0 0 ;
+C 129 ; WX 3272 ; N Aogonek ; B 0 0 0 0 ;
+C 130 ; WX 3272 ; N Cacute ; B 0 -278 3260 922 ;
+C 131 ; WX 3272 ; N Ccaron ; B 0 -278 3260 922 ;
+C 132 ; WX 4908 ; N Dcaron ; B 0 0 0 0 ;
+C 133 ; WX 4908 ; N Ecaron ; B 0 0 0 0 ;
+C 134 ; WX 4908 ; N Eogonek ; B 0 -278 4890 922 ;
+C 135 ; WX 4908 ; N Gbreve ; B 0 -278 4890 922 ;
+C 136 ; WX 3272 ; N Lacute ; B 0 -278 3260 922 ;
+C 137 ; WX 3272 ; N Lcaron ; B 0 -278 3260 922 ;
+C 138 ; WX 3272 ; N Lslash ; B 0 0 0 0 ;
+C 139 ; WX 3272 ; N Nacute ; B 0 0 0 0 ;
+C 140 ; WX 3272 ; N Ncaron ; B 0 -278 3260 922 ;
+C 141 ; WX 3272 ; N Eng ; B 0 -278 3260 922 ;
+C 142 ; WX 3272 ; N Odblacute ; B 0 -278 3260 922 ;
+C 143 ; WX 3272 ; N Racute ; B 0 -278 3260 922 ;
+C 144 ; WX 3272 ; N Rcaron ; B 0 -278 3260 922 ;
+C 145 ; WX 3272 ; N Sacute ; B 0 -278 3260 922 ;
+C 146 ; WX 3272 ; N Scaron ; B 0 -278 3260 922 ;
+C 147 ; WX 3272 ; N Scedilla ; B 0 -278 3260 922 ;
+C 148 ; WX 4908 ; N Tcaron ; B 0 -278 4890 922 ;
+C 149 ; WX 4908 ; N Tcedilla ; B 0 -278 4890 922 ;
+C 150 ; WX 4908 ; N Udblacute ; B 0 0 0 0 ;
+C 151 ; WX 4908 ; N Uring ; B 0 0 0 0 ;
+C 152 ; WX 4908 ; N Ydieresis ; B 0 -278 4890 922 ;
+C 153 ; WX 4908 ; N Zacute ; B 0 -278 4890 922 ;
+C 154 ; WX 4908 ; N Zcaron ; B 0 0 0 0 ;
+C 155 ; WX 4908 ; N Zdot ; B 0 0 0 0 ;
+C 156 ; WX 4908 ; N IJ ; B 0 -278 4890 922 ;
+C 157 ; WX 4908 ; N Idot ; B 0 -278 4890 922 ;
+C 158 ; WX 4908 ; N dmacron ; B 0 -278 4890 922 ;
+C 159 ; WX 4908 ; N section ; B 0 -278 4890 922 ;
+C 160 ; WX 4908 ; N abreve ; B 0 -278 4890 922 ;
+C 161 ; WX 4908 ; N aogonek ; B 0 -278 4890 922 ;
+C 162 ; WX 4908 ; N cacute ; B 0 -278 4890 922 ;
+C 163 ; WX 4908 ; N ccaron ; B 0 -278 4890 922 ;
+C 164 ; WX 6544 ; N dcaron ; B 0 -278 6520 922 ;
+C 165 ; WX 6544 ; N ecaron ; B 0 -278 6520 922 ;
+C 166 ; WX 6544 ; N eogonek ; B 0 0 0 0 ;
+C 167 ; WX 6544 ; N gbreve ; B 0 0 0 0 ;
+C 168 ; WX 6544 ; N lacute ; B 0 -278 6520 922 ;
+C 169 ; WX 6544 ; N lcaron ; B 0 -278 6520 922 ;
+C 170 ; WX 6544 ; N lslash ; B 0 -278 6520 922 ;
+C 171 ; WX 6544 ; N nacute ; B 0 -278 6520 922 ;
+C 172 ; WX 6544 ; N ncaron ; B 0 -278 6520 922 ;
+C 173 ; WX 6544 ; N eng ; B 0 -278 6520 922 ;
+C 174 ; WX 6544 ; N odblacute ; B 0 -278 6520 922 ;
+C 175 ; WX 6544 ; N racute ; B 0 -278 6520 922 ;
+C 176 ; WX 4908 ; N rcaron ; B 0 -278 4890 922 ;
+C 177 ; WX 4908 ; N sacute ; B 0 -278 4890 922 ;
+C 178 ; WX 4908 ; N scaron ; B 0 0 0 0 ;
+C 179 ; WX 4908 ; N scedilla ; B 0 0 0 0 ;
+C 180 ; WX 4908 ; N tcaron ; B 0 -278 4890 922 ;
+C 181 ; WX 4908 ; N tcedilla ; B 0 -278 4890 922 ;
+C 182 ; WX 4908 ; N udblacute ; B 0 -278 4890 922 ;
+C 183 ; WX 4908 ; N uring ; B 0 -278 4890 922 ;
+C 184 ; WX 4908 ; N ydieresis ; B 0 -278 4890 922 ;
+C 185 ; WX 4908 ; N zacute ; B 0 -278 4890 922 ;
+C 186 ; WX 4908 ; N zcaron ; B 0 -278 4890 922 ;
+C 187 ; WX 4908 ; N zdot ; B 0 -278 4890 922 ;
+C 188 ; WX 6544 ; N ij ; B 0 -278 6520 922 ;
+C 189 ; WX 6544 ; N exclamdown ; B 0 -278 6520 922 ;
+C 190 ; WX 6544 ; N questiondown ; B 0 0 0 0 ;
+C 191 ; WX 6544 ; N sterling ; B 0 0 0 0 ;
+C 192 ; WX 6544 ; N Agrave ; B 0 -278 6520 922 ;
+C 193 ; WX 6544 ; N Aacute ; B 0 -278 6520 922 ;
+C 194 ; WX 6544 ; N Acircumflex ; B 0 -278 6520 922 ;
+C 195 ; WX 6544 ; N Atilde ; B 0 -278 6520 922 ;
+C 196 ; WX 6544 ; N Adieresis ; B 0 -278 6520 922 ;
+C 197 ; WX 6544 ; N Aring ; B 0 -278 6520 922 ;
+C 198 ; WX 6544 ; N AE ; B 0 -278 6520 922 ;
+C 199 ; WX 6544 ; N Ccedilla ; B 0 -278 6520 922 ;
+C 200 ; WX 8181 ; N Egrave ; B 0 -278 8150 922 ;
+C 201 ; WX 8181 ; N Eacute ; B 0 -278 8150 922 ;
+C 202 ; WX 8181 ; N Ecircumflex ; B 0 0 0 0 ;
+C 203 ; WX 8181 ; N Edieresis ; B 0 0 0 0 ;
+C 204 ; WX 0 ; N Igrave ; B 0 0 0 0 ;
+C 205 ; WX 0 ; N Iacute ; B 0 0 0 0 ;
+C 206 ; WX 0 ; N Icircumflex ; B 0 0 0 0 ;
+C 207 ; WX 0 ; N Idieresis ; B 0 0 0 0 ;
+C 208 ; WX 8181 ; N Eth ; B 0 -278 8150 922 ;
+C 209 ; WX 8181 ; N Ntilde ; B 0 -278 8150 922 ;
+C 210 ; WX 8181 ; N Ograve ; B 0 0 0 0 ;
+C 211 ; WX 8181 ; N Oacute ; B 0 0 0 0 ;
+C 212 ; WX 8181 ; N Ocircumflex ; B 0 -278 8150 922 ;
+C 213 ; WX 8181 ; N Otilde ; B 0 -278 8150 922 ;
+C 214 ; WX 8181 ; N Odieresis ; B 0 -278 8150 922 ;
+C 215 ; WX 8181 ; N OE ; B 0 -278 8150 922 ;
+C 216 ; WX 8181 ; N Oslash ; B 0 -278 8150 922 ;
+C 217 ; WX 8181 ; N Ugrave ; B 0 -278 8150 922 ;
+C 218 ; WX 8181 ; N Uacute ; B 0 -278 8150 922 ;
+C 219 ; WX 8181 ; N Ucircumflex ; B 0 -278 8150 922 ;
+C 220 ; WX 6544 ; N Udieresis ; B 0 -278 6520 922 ;
+C 221 ; WX 6544 ; N Yacute ; B 0 -278 6520 922 ;
+C 222 ; WX 6544 ; N Thorn ; B 0 0 0 0 ;
+C 223 ; WX 6544 ; N Germandbls ; B 0 0 0 0 ;
+C 224 ; WX 6544 ; N agrave ; B 0 -278 6520 922 ;
+C 225 ; WX 6544 ; N aacute ; B 0 -278 6520 922 ;
+C 226 ; WX 6544 ; N acircumflex ; B 0 -278 6520 922 ;
+C 227 ; WX 6544 ; N atilde ; B 0 -278 6520 922 ;
+C 228 ; WX 6544 ; N adieresis ; B 0 -278 6520 922 ;
+C 229 ; WX 6544 ; N aring ; B 0 -278 6520 922 ;
+C 230 ; WX 6544 ; N ae ; B 0 -278 6520 922 ;
+C 231 ; WX 6544 ; N ccedilla ; B 0 -278 6520 922 ;
+C 232 ; WX 8181 ; N egrave ; B 0 -278 8150 922 ;
+C 233 ; WX 8181 ; N eacute ; B 0 -278 8150 922 ;
+C 234 ; WX 8181 ; N ecircumflex ; B 0 0 0 0 ;
+C 235 ; WX 8181 ; N edieresis ; B 0 0 0 0 ;
+C 236 ; WX 8181 ; N igrave ; B 0 -278 8150 922 ;
+C 237 ; WX 8181 ; N iacute ; B 0 -278 8150 922 ;
+C 238 ; WX 8181 ; N icircumflex ; B 0 -278 8150 922 ;
+C 239 ; WX 8181 ; N idieresis ; B 0 -278 8150 922 ;
+C 240 ; WX 8181 ; N eth ; B 0 -278 8150 922 ;
+C 241 ; WX 8181 ; N ntilde ; B 0 -278 8150 922 ;
+C 242 ; WX 8181 ; N ograve ; B 0 -278 8150 922 ;
+C 243 ; WX 8181 ; N oacute ; B 0 -278 8150 922 ;
+C 244 ; WX 0 ; N ocircumflex ; B 0 0 0 0 ;
+C 245 ; WX 0 ; N otilde ; B 0 0 0 0 ;
+C 246 ; WX 0 ; N odieresis ; B 0 0 0 0 ;
+C 247 ; WX 0 ; N oe ; B 0 0 0 0 ;
+C 248 ; WX 0 ; N oslash ; B 0 0 0 0 ;
+C 249 ; WX 0 ; N ugrave ; B 0 0 0 0 ;
+C 250 ; WX 0 ; N uacute ; B 0 0 0 0 ;
+C 251 ; WX 0 ; N ucircumflex ; B 0 0 0 0 ;
+C 252 ; WX 0 ; N udieresis ; B 0 0 0 0 ;
+C 253 ; WX 0 ; N yacute ; B 0 0 0 0 ;
+C 254 ; WX 0 ; N thorn ; B 0 0 0 0 ;
+C 255 ; WX 0 ; N germandbls ; B 0 0 0 0 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/Master/texmf-dist/fonts/map/dvips/knitting/knitfont.map b/Master/texmf-dist/fonts/map/dvips/knitting/knitfont.map
new file mode 100644
index 00000000000..c728bd0aaac
--- /dev/null
+++ b/Master/texmf-dist/fonts/map/dvips/knitting/knitfont.map
@@ -0,0 +1,13 @@
+knitnn KnittingSymbols-nogrid-foreground-Medium <knitnn.pfb
+knitwn KnittingSymbols-wide-foreground-Medium <knitwn.pfb
+knitgn KnittingSymbols-grid-foreground-Medium <knitgn.pfb
+
+knitnp KnittingSymbols-nogrid-purl-Medium <knitnp.pfb
+knitwp KnittingSymbols-wide-purl-Medium <knitwp.pfb
+knitgp KnittingSymbols-grid-purl-Medium <knitgp.pfb
+
+knitnr KnittingSymbols-nogrid-raised-Medium <knitnr.pfb
+knitnl KnittingSymbols-nogrid-lowered-Medium <knitnl.pfb
+
+knitgg KnittingSymbols-grid-grid-Medium <knitgg.pfb
+knitwg KnittingSymbols-wide-grid-Medium <knitwg.pfb
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knit_dimens.mf b/Master/texmf-dist/fonts/source/public/knitting/knit_dimens.mf
new file mode 100644
index 00000000000..0e69a6bdbb7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knit_dimens.mf
@@ -0,0 +1,100 @@
+widewd# = 16.3pt#;
+% This is as wide as a cell can be without causing problems with 5-cell-wide symbols
+if known wd#: else: wd# = 12 pt#; fi
+ ht# + dp# = 12 pt#; ht#-dp# = 6.44444pt#;
+
+ symbolwidth#=0.7pt#;
+ purl_symbolwidth#=0.7pt#;
+ gridwidth# = if gridfont: 0.3pt# else: 0pt# fi;
+ overlinewd# = if gridfont: 1.5pt# else: 0.8pt# fi;
+
+eraserwidth# = 3pt#;
+wrapturngap# = 2pt#;
+
+ o#:=0.4pt#; %Vertical overshoot
+ ho#:=o#; %Horizontal overshoot
+
+% Vertical gaps
+standardgap# = if gridfont: 3pt# else: 2.5pt# fi;
+smallgap# = if gridfont: 2.5pt# else: 2pt# fi;
+mingap# = if gridfont: 1.2pt# else: 1pt# fi;
+
+botcableheight# - symbolwidth#/2 = (-dp# + smallgap#);
+topcableheight# + symbolwidth#/2 = (ht# - smallgap#);
+
+cablevertgap# = 3symbolwidth#;
+cablebargap# = 4pt#;
+cableslant# = 4pt#;
+
+if known topgap#: else: topgap# = standardgap#; fi
+if known bottomgap#: else: bottomgap# = standardgap#; fi
+
+cableextend# := 0pt#;
+% If your software is prone to leaving little gaps between the nogrid
+% cable connectors, or in wide increases and decreases, you might want
+% to make this nonzero.
+
+if gridfont:
+purlextend# := 0pt#;
+else:
+purlextend# := 0.2pt#;
+fi
+%
+% Purlextend affects how far outside their box the purl background goes.
+%
+% This is largely irrelevant when printing,
+% but it makes the PDFs look much better.
+%
+% If you do a Knuth-esque bitmap-font customization to your
+% particular printer, this is one parameter you *have* to fiddle with.
+
+define_pixels(wd,ht,dp);
+define_blacker_pixels(cableextend,purlextend,gridwidth,symbolwidth,purl_symbolwidth,
+ overlinewidth);
+define_pixels(eraserwidth,wrapturngap);
+define_corrected_pixels(o,ho);
+define_pixels(standardgap,smallgap,mingap,topgap,bottomgap,
+ cablevertgap,cablebargap,cableslant, botcableheight,topcableheight);
+
+pickup pencircle scaled symbolwidth; symbol_pen := savepen;
+pickup pencircle scaled purl_symbolwidth; purl_symbol_pen := savepen;
+pickup pencircle scaled eraserwidth; eraser_pen := savepen;
+
+offset = (topgap-bottomgap)/2;
+small_topgap = topgap + smallgap-standardgap;
+small_bottomgap = bottomgap + smallgap-standardgap;
+min_topgap = topgap + mingap-standardgap;
+min_bottomgap = bottomgap + mingap-standardgap;
+
+standardheight := ht+dp-topgap-bottomgap;
+biggerheight := ht+dp-small_topgap-small_bottomgap;
+
+font_size 10pt#;
+
+font_slant := 0pt#; % fontdimen 1
+font_normal_space := 0pt#; % fontdimen 2
+font_normal_stretch := 0pt#; % fontdimen 3
+font_normal_shrink := 0pt#; % fontdimen 4
+font_x_height := ht#; % fontdimen 5
+font_quad := wd#; % fontdimen 6
+font_extra_space := 0pt#; % fontdimen 7
+
+fontdimen 8: % Font dimensions 8+ listed here
+dp#, % dimen 8: depth
+% width is not needed because it is quad (dimen 6)
+% height is not needed because it is xheight (dimen 5)
+ht#+dp#, % dimen 9: height+depth (LaTeX height)
+gridwidth#, % dimen 10: grid width
+overlinewd#, % dimen 11: overline/bar width
+(ht#+dp#)/8, % dimen 12: raise/lower symbols in narrow increases
+(topgap#-bottomgap#), % dimen 13: vertical offset
+purlextend#; % dimen 14: purl box outlap
+
+def incrwidth (expr sts) = wd# enddef;
+def decrwidth (expr sts) = wd# enddef;
+Vwidth := standardheight; % Used twice: v and y
+Wwidth := biggerheight; % Used for make 3 from 1
+wideincline := 2symbolwidth;
+wideinctip := 0.3symbolwidth;
+
+symbolmaxwd# = 82.244pt# - max(2purlextend#,gridwidth#);
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knit_grid_cables.mf b/Master/texmf-dist/fonts/source/public/knitting/knit_grid_cables.mf
new file mode 100644
index 00000000000..8e95657cb02
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knit_grid_cables.mf
@@ -0,0 +1,572 @@
+picture symbolpic[];
+
+beginchar(5,wd#,ht#,dp#); "Top and bottom outlines";
+ pickup pensquare scaled gridwidth;
+ if (fonttype = gridtype) or (fonttype = bothtype):
+ draw (0,-d)--(w,-d); draw (0,h)--(w,h);
+ fi
+endchar;
+
+beginchar(6,0,ht#,dp#); "Vertical grid line";
+ pickup pensquare scaled gridwidth;
+ if (fonttype = gridtype) or (fonttype = bothtype):
+ draw (0,-d)--(0,h);
+ fi
+endchar;
+
+code := 127;
+
+beginchar(".",wd#,ht#,dp#); "No stitch";
+ fill (0.5(w-standardheight),-d+bottomgap) --
+ (0.5(w-standardheight),h-topgap) --
+ (0.5(w+standardheight),h-topgap) --
+ (0.5(w+standardheight),-d+bottomgap) -- cycle;
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+beginchar(",",wd#,ht#,dp#); "Purl no stitch";
+ currentpicture := symbolpic0;
+ purlbox; endchar;
+
+beginchar("-",wd#,ht#,dp#); "A knit stitch";
+ charbox; endchar;
+beginchar("=",wd#,ht#,dp#); "A purl stitch";
+ purlbox; endchar;
+
+%Cables
+
+cablelinewidth#:=0.4pt#;
+define_blacker_pixels(cablelinewidth);
+pickup pencircle scaled cablelinewidth; cable_pen := savepen;
+
+beginchar("p",wd#,ht#,dp#); "Purl cable background";
+ purlbox; endchar;
+beginchar("P",wd#,ht#,dp#); "Purl cable foreground";
+ purlbox; endchar;
+beginchar("k",wd#,ht#,dp#); "Knit cable background";
+ charbox; endchar;
+beginchar("K",wd#,ht#,dp#); "Knit cable foreground";
+ charbox; endchar;
+beginchar("g",wd#,ht#,dp#); "Purl cable background";
+ purlbox; endchar;
+beginchar("G",wd#,ht#,dp#); "Purl cable foreground";
+ purlbox; endchar;
+beginchar("c",wd#,ht#,dp#); "Knit cable background";
+ charbox; endchar;
+beginchar("C",wd#,ht#,dp#); "Knit cable foreground";
+ charbox; endchar;
+beginchar("d",wd#,ht#,dp#); "White knit cable background";
+ charbox; endchar;
+beginchar("D",wd#,ht#,dp#); "White knit cable foreground";
+ charbox; endchar;
+beginchar("n",wd#,ht#,dp#); "Odd knit cable background";
+ charbox; endchar;
+beginchar("N",wd#,ht#,dp#); "Odd knit cable foreground";
+ charbox; endchar;
+beginchar("e",wd#,ht#,dp#); "Odd twist";
+ charbox; endchar;
+beginchar("o",wd#,ht#,dp#); "Odd twist";
+ charbox; endchar;
+
+horizcablegap# := 0.3 wd#;
+define_pixels(horizcablegap);
+
+beginchar("+",wd#,ht#,dp#); "Left end of a horizontal cable";
+ charbox;
+ pickup pensquare scaled cablelinewidth;
+ x1=x4=horizcablegap; x2=x3=w; bot y1=bot y2= -d+bottomgap; top y3=top y4=h-topgap;
+ if (fonttype = gridtype) or (fonttype = bothtype):
+ draw lft z3--rt z4; draw rt z1--lft z2; draw rt z4--rt z1;
+ fi
+ if fonttype = purltype:
+ fill (0,-d)--(w,-d)--z2--z1--z4--z3--(w,h)--(0,h)--cycle;
+ fi
+ symbolpic0 := currentpicture;
+endchar;
+
+midhoriz := 20;
+righthoriz := 21;
+specialhoriz := ASCII"/";
+
+beginchar(midhoriz,wd#,ht#,dp#); "Middle of a horizontal cable";
+ charbox;
+ pickup pensquare scaled cablelinewidth;
+ x1=x4=0; x2=x3=w; bot y1=bot y2= -d+bottomgap; top y3=top y4=h-topgap;
+ if (fonttype = gridtype) or (fonttype = bothtype):
+ draw rt z1--lft z2; draw lft z3--rt z4;
+ fi
+ if fonttype = purltype:
+ fill z1--z2--(w,-d)--(0,-d)--cycle;
+ fill z4--z3--(w,h)--(0,h)--cycle;
+ fi
+ endchar;
+
+beginchar(specialhoriz,wd#,ht#,dp#); "Special horizontal cable";
+ charbox;
+ pickup pensquare scaled cablelinewidth;
+ x1=x4=0; x2=x3=w; bot y1=bot y2= -d+bottomgap; top y3=top y4=h-topgap;
+
+ x5=x6; x7=x8; x7-x5 = y3-y2; 0.5[x7,x5]=0.5w;
+ y5=y7=-d; y6=y8=h;
+
+ if (fonttype = gridtype) or (fonttype = bothtype):
+ draw top z5--bot z6; draw top z7--bot z8;
+ draw rt z1--lft (x5,y2);
+ draw rt (x7,y2)--lft z2;
+ draw lft z3--rt(x7,y3);
+ draw lft(x5,y4)--rt z4;
+ fi
+
+ if fonttype = purltype:
+ fill (x1,y5)--z1--(x5,y1)--z5--cycle;
+ fill (x2,y7)--z2--(x7,y2)--z7--cycle;
+ fill (x3,y8)--z3--(x8,y3)--z8--cycle;
+ fill (x4,y6)--z4--(x6,y4)--z6--cycle;
+ fi
+ endchar;
+
+
+beginchar(righthoriz,wd#,ht#,dp#); "Right end of a horizontal cable";
+ fliphoriz(symbolpic0)(currentpicture);
+ endchar;
+
+ligtable "+": specialhoriz:
+ "+" |=: righthoriz;
+ligtable righthoriz:
+ "+" |=: righthoriz,
+ specialhoriz =:| midhoriz,
+ righthoriz =:| midhoriz;
+
+numeric cableleft[][][]; numeric cableright[][][];
+numeric whitecableleft[][][]; numeric whitecableright[][][];
+numeric twistleft[][]; numeric twistright[][];
+numeric revcableleft[][]; numeric revcableright[][];
+numeric topcableleft[][]; numeric topcableright[][];
+numeric botcableleft[][]; numeric botcableright[][];
+
+for sts = 2 upto 3:
+ cableright[0][sts][0] := incr code;
+ beginchar(code, (sts)*wd#,ht#,dp#); decimal sts&" cable background stitches";
+ charbox; endchar;
+
+ cableleft[sts][0][0] := incr code;
+ beginchar(code, (sts)*wd#,ht#,dp#); decimal sts&" cable foreground stitches";
+ charbox; endchar;
+
+ revcableright[0][sts] := incr code;
+ beginchar(code, (sts)*wd#,ht#,dp#); decimal sts&" twist background stitches";
+ purlbox; endchar;
+
+ revcableleft[sts][0] := incr code;
+ beginchar(code, (sts)*wd#,ht#,dp#); decimal sts&" twist foreground stitches";
+ purlbox; endchar;
+endfor
+
+% Draw all the cables
+
+if known slantlines: else: boolean slantlines; slantlines = false; fi
+
+for backsts = 1 upto 3:
+for frontsts = 1 upto 3:
+for midsts = 0 upto if frontsts = backsts: if frontsts < 3: frontsts else: 0 fi else: 0 fi:
+
+
+cableleft[frontsts][backsts][midsts] = incr code;
+cableright[frontsts][backsts][midsts] = incr code;
+whitecableleft[frontsts][backsts][midsts] = incr code;
+whitecableright[frontsts][backsts][midsts] = incr code;
+
+if midsts = 0:
+topcableleft[frontsts][backsts] = incr code;
+topcableright[frontsts][backsts] = incr code;
+botcableleft[frontsts][backsts] = incr code;
+botcableright[frontsts][backsts] = incr code;
+twistleft[frontsts][backsts] = incr code;
+twistright[frontsts][backsts] = incr code;
+revcableleft[frontsts][backsts] = incr code;
+revcableright[frontsts][backsts] = incr code;
+fi
+
+symbolpic0 := nullpicture;
+symbolpic1 := nullpicture;
+symbolpic2 := nullpicture;
+
+totsts := frontsts + backsts + midsts;
+
+if (frontsts+backsts+midsts)*wd# < symbolmaxwd#:
+
+beginchar(cableleft[frontsts][backsts][midsts],totsts * wd#,ht#,dp#);
+ % Cable/cable front
+ "Cable " & decimal(frontsts) & " over " &decimal(backsts) & " over " &decimal(midsts);
+
+ frontstroke := cablelinewidth * ((backsts+midsts)++1);
+ backstroke := cablelinewidth * ((frontsts+midsts)++1)/2;
+
+ charbox; % Have to do it here so the grid type fonts have stuff
+ if (fonttype = gridtype) or (fonttype = bothtype):
+
+ % Define top and bottom points
+ if slantlines:
+ for k=0 upto totsts:
+ z.bot[k] = (k*wd,-d);
+ z.top[k] = (k*wd,h);
+ penpos.bot[k] (frontstroke, 0);
+ penpos.top[k] (frontstroke, 0);
+ endfor
+ else:
+ z.top[0] = (0,h);
+ z.top[frontsts] = (frontsts*wd,h);
+ z.top[totsts] = (totsts*wd,h);
+ z.bot[0] = (0,-d);
+ z.bot[backsts] = (backsts*wd,-d);
+ z.bot[totsts] = (totsts*wd,-d);
+ if midsts > 0:
+ z.bot[backsts+midsts] = ((backsts+midsts)*wd,-d);
+ z.top[frontsts+midsts] = ((frontsts+midsts)*wd,h);
+ fi
+ penpos.bot[backsts+midsts] (frontstroke, 0);
+ penpos.top[0] (frontstroke, 0);
+ penpos.bot[totsts] (frontstroke, 0);
+ penpos.top[frontsts] (frontstroke, 0);
+ fi
+
+ % Draw the lines on the front cable
+ if slantlines:
+ for k=1 upto frontsts-1:
+ penstroke z.top[k]e -- z.bot[k+backsts+midsts]e;
+ endfor
+ fi
+
+ % Draw the left and right lines of the front cable
+ pair temp;
+ temp = (0,whatever);
+ temp = whatever[z.top0l,z.bot[backsts+midsts]l];
+
+ fill z.top0r--z.bot[backsts+midsts]r -- z.bot[backsts+midsts]l--temp--z.top0--cycle;
+
+ pair temp;
+ temp = (w,whatever);
+ temp = whatever[z.bot[totsts]r,z.top[frontsts]r];
+
+ fill z.top[frontsts]r--z.top[frontsts]l--z.bot[totsts]l --z.bot[totsts]--temp--cycle;
+
+ symbolpic1 := currentpicture;
+ % Save this pic for twist front
+
+ % Draw the back lines
+ pair slip;
+ slip = whatever[(-backstroke,0),(frontsts+midsts,1)+(-backstroke,0)];
+ slip = whatever * (-backsts,1);
+
+ % Define some more points
+ if slantlines:
+ for k=0 upto backsts:
+ z.ur[k] = whatever [z.top0,z.bot[backsts+midsts]];
+ z.ur[k] = whatever [z.bot[k],z.top[frontsts+midsts+k]];
+ z.ll[k] = whatever [z.bot[totsts],z.top[frontsts]];
+ z.ll[k] = whatever [z.bot[k],z.top[frontsts+midsts+k]];
+ endfor
+ else:
+ z.ur[0] = whatever [z.top0,z.bot[backsts+midsts]];
+ z.ur[0] = whatever [z.bot0,z.top[frontsts+midsts]];
+ z.ll[backsts] = whatever [z.bot[totsts],z.top[frontsts]];
+ z.ll[backsts] = whatever [z.bot[backsts],z.top[totsts]];
+ z.ur[backsts] = whatever [z.top0,z.bot[backsts+midsts]];
+ z.ur[backsts] = whatever [z.bot[backsts],z.top[totsts]];
+ z.ll[0] = whatever [z.bot[totsts],z.top[frontsts]];
+ z.ll[0] = whatever [z.bot[0],z.top[frontsts+midsts]];
+ fi
+
+ % Top back lines
+ fill z.top[totsts]+(-backstroke,0) -- z.top[totsts] -- z.top[totsts]+(0,-ypart(slip)) -- z.ll[backsts]-slip -- z.ll[backsts]+slip --cycle;
+
+ if midsts > 0:
+ fill z.top[frontsts+midsts]+(-backstroke,0) -- z.top[frontsts+midsts]+(backstroke,0) -- z.ll[0]-slip -- z.ll[0]+slip --cycle;
+ fi
+
+ if slantlines:
+ for k=1 upto backsts-1:
+ fill z.top[frontsts+midsts+k]+(-backstroke,0) -- z.top[frontsts+midsts+k]+(backstroke,0) -- z.ll[k]-slip -- z.ll[k]+slip --cycle;
+ endfor
+ fi
+
+ symbolpic2 := currentpicture;
+
+ % Bottom back lines
+ fill z.bot[0]+(backstroke,0) -- z.bot[0] -- z.bot[0]+(0,ypart(slip)) -- z.ur[0]+slip -- z.ur[0]-slip --cycle;
+
+ if midsts > 0:
+ fill z.bot[backsts]+(backstroke,0) -- z.bot[backsts]-(backstroke,0) -- z.ur[backsts]+slip -- z.ur[backsts]-slip --cycle;
+ fi
+
+ if slantlines:
+ for k=1 upto backsts-1:
+ fill z.bot[k]+(backstroke,0) -- z.bot[k]-(backstroke,0) -- z.ur[k]+slip -- z.ur[k]-slip --cycle;
+ endfor
+ fi
+
+ fi
+
+ if fonttype = purltype:
+ z.L = whatever[(0,-d),((frontsts+midsts)*wd,h)];
+ z.L = whatever[(0,h),((backsts+midsts)*wd,-d)];
+ z.R = whatever[(w,-d),(w-(backsts+midsts)*wd,h)];
+ z.R = whatever[(w,h),(w-(frontsts+midsts)*wd,-d)];
+
+ if midsts = 0: else:
+ z.top1 = (frontsts*wd,h); z.top2 = ((frontsts+midsts)*wd,h);
+ z.bot1 = (frontsts*wd,-d); z.bot2 = ((frontsts+midsts)*wd,-d);
+ z.top3 = whatever[z.top1,(w,-d)];
+ z.top3 = whatever[z.top2,(0,-d)];
+ z.bot3 = whatever[z.bot1,(w,h)];
+ z.bot3 = whatever[z.bot2,(0,h)];
+ fill z.top1 -- z.top2 -- z.top3 -- cycle;
+ fill z.bot1 -- z.bot2 -- z.bot3 -- cycle;
+ fi
+
+ fill (0,-d) -- z.L -- (0,h) --cycle;
+ fill (w,-d) -- z.R -- (w,h) --cycle;
+ fi
+ symbolpic0 := currentpicture;
+ endchar;
+beginchar(cableright[frontsts][backsts][midsts],totsts * wd#,ht#,dp#);
+ "Cable right " & decimal(frontsts) & " over " &decimal(backsts);
+ currentpicture := symbolpic0 reflectedabout ((w/2,0),(w/2,h));
+ endchar;
+beginchar(whitecableleft[frontsts][backsts][midsts],totsts * wd#,ht#,dp#);
+ "White cable " & decimal(frontsts) & " over " &decimal(backsts);
+ if fonttype <> purltype: currentpicture := symbolpic0; fi
+ endchar;
+beginchar(whitecableright[frontsts][backsts][midsts],totsts * wd#,ht#,dp#);
+ "White cable " & decimal(frontsts) & " over " &decimal(backsts);
+ if fonttype <> purltype: currentpicture := symbolpic0 reflectedabout ((w/2,0),(w/2,h)); fi
+ endchar;
+
+if midsts = 0:
+
+beginchar(twistleft[frontsts][backsts],totsts * wd#,ht#,dp#);
+ % Twist/twist front
+ "Twist " & decimal(frontsts) & " over " &decimal(backsts);
+ charbox;
+ if fonttype <> purltype: currentpicture := symbolpic1;
+ else:
+ fill (0,h)--(wd*backsts,-d)--(0,-d)--cycle; % Bottom triangle
+ fill (w,-d)--(wd*frontsts,h)--(w,h)--cycle; % Top triangle
+ fi
+ symbolpic1 := currentpicture;
+ endchar;
+beginchar(twistright[frontsts][backsts],totsts * wd#,ht#,dp#);
+ "Twist " & decimal(frontsts) & " over " &decimal(backsts);
+ currentpicture := symbolpic1 reflectedabout ((w/2,0),(w/2,h));
+ endchar;
+
+beginchar(topcableleft[frontsts][backsts],totsts * wd#,ht#,dp#);
+ % Twist/twist front
+ "Cable " & decimal(frontsts) & " over " &decimal(backsts);
+ z.R = whatever[(w,-d),(w-(backsts+midsts)*wd,h)];
+ z.R = whatever[(w,h),(w-(frontsts+midsts)*wd,-d)];
+ charbox;
+ if fonttype <> purltype: currentpicture := symbolpic2;
+ else:
+ fill (0,h)--(wd*backsts,-d)--(0,-d)--cycle; % Bottom left triangle
+ fill (w,-d) -- z.R -- (w,h) --cycle; % Right triangle
+ fi
+ symbolpic2 := currentpicture;
+ endchar;
+beginchar(topcableright[frontsts][backsts],totsts * wd#,ht#,dp#);
+ "Cable " & decimal(frontsts) & " over " &decimal(backsts);
+ currentpicture := symbolpic2 reflectedabout ((w/2,0),(w/2,h));
+ endchar;
+beginchar(botcableleft[frontsts][backsts],totsts * wd#,ht#,dp#);
+ "Cable " & decimal(frontsts) & " over " &decimal(backsts);
+ currentpicture := symbolpic2 rotatedaround ((w/2,(h-d)/2),180);
+ endchar;
+beginchar(botcableright[frontsts][backsts],totsts * wd#,ht#,dp#);
+ "Cable " & decimal(frontsts) & " over " &decimal(backsts);
+ currentpicture := symbolpic2 reflectedabout ((0,(h-d)/2),(w,(h-d)/2));
+ endchar;
+
+beginchar(revcableleft[frontsts][backsts],totsts * wd#,ht#,dp#);
+ % Reverse cable/twist back
+ "Reverse cable left " & decimal(frontsts) & " over " &decimal(backsts);
+ if fonttype <> purltype:
+ currentpicture := symbolpic0;
+ else: purlbox; fi
+ endchar;
+beginchar(revcableright[frontsts][backsts],totsts * wd#,ht#,dp#);
+ "Reverse cable " & decimal(frontsts) & " over " &decimal(backsts);
+ if fonttype <> purltype:
+ currentpicture := symbolpic0 reflectedabout ((w/2,0),(w/2,h));
+ else: purlbox; fi
+ endchar;
+fi
+
+else:
+
+beginchar(cableleft[frontsts][backsts][midsts],0pt#,ht#,dp#); endchar;
+beginchar(cableright[frontsts][backsts][midsts],0pt#,ht#,dp#); endchar;
+beginchar(whitecableleft[frontsts][backsts][midsts],0pt#,ht#,dp#); endchar;
+beginchar(whitecableright[frontsts][backsts][midsts],0pt#,ht#,dp#); endchar;
+
+if midsts = 0:
+beginchar(twistleft[frontsts][backsts],0pt#,ht#,dp#); endchar;
+beginchar(twistright[frontsts][backsts],0pt#,ht#,dp#); endchar;
+beginchar(topcableleft[frontsts][backsts],0pt#,ht#,dp#); endchar;
+beginchar(topcableright[frontsts][backsts],0pt#,ht#,dp#); endchar;
+beginchar(botcableleft[frontsts][backsts],0pt#,ht#,dp#); endchar;
+beginchar(botcableright[frontsts][backsts],0pt#,ht#,dp#); endchar;
+beginchar(revcableleft[frontsts][backsts],0pt#,ht#,dp#); endchar;
+beginchar(revcableright[frontsts][backsts],0pt#,ht#,dp#); endchar;
+
+fi
+
+fi
+
+endfor endfor endfor
+%Ligatures
+
+cableright[0][1][0] := ASCII"k";
+cableleft[1][0][0] := ASCII"K";
+revcableright[0][1] := ASCII"p";
+revcableleft[1][0] := ASCII"P";
+
+ ligtable "c":
+ "k" =: cableright[0][1+1][0],
+ "c" =: cableright[0][1+1][0],
+ "p" =: cableright[1][1][1],
+ "K" =: cableright[1][1][0],
+ "D" =: whitecableright[1][1][0],
+ "N" =: topcableright[1][1];
+ligtable "C":
+ "K" =: cableleft[1+1][0][0],
+ "C" =: cableleft[1+1][0][0],
+ "p" =: twistleft[1][1],
+ "k" =: cableleft[1][1][0],
+ "d" =: whitecableleft[1][1][0],
+ "n" =: topcableleft[1][1],
+ "e" =: botcableleft[1][1],
+ "o" =: botcableleft[1][1];
+ ligtable "g":
+ "p" =: revcableright[0][1+1],
+ "g" =: revcableright[0][1+1],
+ "K" =: twistright[1][1],
+ "P" =: revcableright[1][1],
+ "N" =: botcableright[1][1];
+ ligtable "G":
+ "P" =: revcableleft[1+1][0],
+ "G" =: revcableleft[1+1][0],
+ "p" =: revcableleft[1][1];
+
+for sts = 1 upto 3:
+ ligtable cableright[0][sts][0]:
+ if sts < 3:
+ "k" =: cableright[0][sts+1][0],
+ "c" =: cableright[0][sts+1][0],
+ "p" =: cableright[sts][sts][1],
+ fi
+ "K" =: cableright[1][sts][0],
+ "D" =: whitecableright[1][sts][0],
+ "N" =: topcableright[1][sts];
+ ligtable cableleft[sts][0][0]:
+ if sts < 3:
+ "K" =: cableleft[sts+1][0][0],
+ "C" =: cableleft[sts+1][0][0],
+ fi
+ "p" =: twistleft[sts][1],
+ "k" =: cableleft[sts][1][0],
+ "d" =: whitecableleft[sts][1][0],
+ "n" =: topcableleft[sts][1],
+ "e" =: botcableleft[sts][1],
+ "o" =: botcableleft[sts][1];
+ ligtable revcableright[0][sts]:
+ if sts < 3:
+ "p" =: revcableright[0][sts+1],
+ "g" =: revcableright[0][sts+1],
+ fi
+ "K" =: twistright[1][sts],
+ "P" =: revcableright[1][sts],
+ "N" =: botcableright[1][sts];
+ ligtable revcableleft[sts][0]:
+ if sts < 3:
+ "P" =: revcableleft[sts+1][0],
+ "G" =: revcableleft[sts+1][0],
+ fi
+ "p" =: revcableleft[sts][1];
+
+endfor
+
+for sts = 1 upto 2:
+ ligtable cableleft[sts][sts][1]:
+ if sts > 1: "p" =: cableleft[sts][sts][2], fi
+ "k" =: cableleft[sts][sts][1],
+ "d" =: whitecableleft[sts][sts][1];
+ ligtable cableright[sts][sts][1]:
+ if sts > 1: "p" =: cableright[sts][sts][2], fi
+ "K" =: cableright[sts][sts][1],
+ "D" =: whitecableright[sts][sts][1];
+ ligtable whitecableleft[sts][sts][1]:
+ "d" =: whitecableleft[sts][sts][1];
+ ligtable whitecableright[sts][sts][1]:
+ "D" =: whitecableright[sts][sts][1];
+endfor
+
+if 6wd# < symbolmaxwd#:
+ ligtable cableleft[2][2][2]:
+ "k" =: cableleft[2][2][2],
+ "d" =: whitecableleft[2][2][2];
+ ligtable cableright[2][2][2]:
+ "K" =: cableright[2][2][2],
+ "D" =: whitecableright[2][2][2];
+ ligtable whitecableleft[2][2][2]:
+ "d" =: whitecableleft[2][2][2];
+ ligtable whitecableright[2][2][2]:
+ "D" =: whitecableright[2][2][2];
+fi
+
+for backsts = 1 upto 3:
+for frontsts = 1 upto 3:
+
+ if frontsts < 3:
+ ligtable cableright[frontsts][backsts][0]:
+ "K" =: cableright[frontsts+1][backsts][0],
+ "N" =: topcableright[frontsts+1][backsts],
+ "D" =: whitecableright[frontsts+1][backsts][0];
+ ligtable whitecableright[frontsts][backsts][0]:
+ "D" =: whitecableright[frontsts+1][backsts][0];
+ ligtable topcableright[frontsts][backsts]:
+ "N" =: topcableright[frontsts+1][backsts];
+ ligtable botcableright[frontsts][backsts]:
+ "N" =: botcableright[frontsts+1][backsts];
+ ligtable twistright[frontsts][backsts]:
+ "K" =: twistright[frontsts+1][backsts],
+ "N" =: botcableright[frontsts+1][backsts];
+ ligtable revcableright[frontsts][backsts]:
+ "P" =: revcableright[frontsts+1][backsts];
+ fi
+
+ if backsts < 3:
+ ligtable cableleft[frontsts][backsts][0]:
+ "k" =: cableleft[frontsts][backsts+1][0],
+ "n" =: topcableleft[frontsts][backsts+1],
+ "d" =: whitecableleft[frontsts][backsts+1][0];
+ ligtable whitecableleft[frontsts][backsts][0]:
+ "d" =: whitecableleft[frontsts][backsts+1][0];
+ ligtable topcableleft[frontsts][backsts]:
+ "n" =: topcableleft[frontsts][backsts+1];
+ ligtable botcableleft[frontsts][backsts]:
+ "e" =: botcableleft[frontsts][backsts+1],
+ "o" =: botcableleft[frontsts][backsts+1];
+ ligtable twistleft[frontsts][backsts]:
+ if frontsts < 3: if backsts <= frontsts:
+ "k" =: cableleft[frontsts][frontsts][backsts],
+ "d" =: whitecableleft[frontsts][frontsts][backsts],
+ fi fi
+ "e" =: botcableleft[frontsts][backsts+1],
+ "o" =: botcableleft[frontsts][backsts+1],
+ "p" =: twistleft[frontsts][backsts+1];
+ ligtable revcableleft[frontsts][backsts]:
+ "p" =: revcableleft[frontsts][backsts+1];
+ fi
+
+endfor
+endfor
+
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knit_nogrid_cables.mf b/Master/texmf-dist/fonts/source/public/knitting/knit_nogrid_cables.mf
new file mode 100644
index 00000000000..44a34381186
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knit_nogrid_cables.mf
@@ -0,0 +1,386 @@
+beginchar(",",wd#,ht#,dp#); "No stitch";
+ purlbox;
+ endchar;
+beginchar(".",wd#,ht#,dp#); "No stitch";
+ endchar;
+
+ path purlbar;
+
+beginchar("-",wd#,ht#,dp#); "A knit stitch";
+ pickup symbol_pen;
+ draw bot (w/2,h-topgap+o) -- top (w/2, -d+bottomgap-o);
+ charbox; endchar;
+beginchar("=",wd#,ht#,dp#); "A purl stitch";
+ pickup symbol_pen;
+ lft x1-rt x2 = 0.7standardheight; x1+x2=w; y1=y2=0.5[h,-d];
+ purlbar = z1--z2;
+ draw purlbar;
+ purlbox; endchar;
+
+code := 127;
+
+%Cables
+
+kright := incr code;
+Kright := incr code;
+pright := incr code;
+Pright := incr code;
+nright := incr code;
+eright := incr code;
+Nright := incr code;
+dright := incr code;
+oright := incr code;
+Dright := incr code;
+
+midhoriz := 20;
+righthoriz := 21;
+specialhoriz := ASCII"/";
+
+cabletopleft := 5;
+cablebotleft := 6;
+cabletopright:= 7;
+cablebotright:= 8;
+
+cableleftslash := 9;
+cableleftbackslash := 10;
+cablerightslash := 11;
+cablerightbackslash := 12;
+
+leftslash := 13;
+rightslash := 14;
+
+beginchar("+",wd#,ht#,dp#); "Left end of a horizontal cable";
+ pickup symbol_pen;
+ HCtop = (h-d)/2 + 0.2standardheight;
+ HCbot = (h-d)/2 - 0.2standardheight;
+ HCttop = bot (h-d)/2 + 0.5standardheight + o;
+ HCbbot = top (h-d)/2 - 0.5standardheight - o;
+ y.ul = y.ur = HCtop;
+ y.ll = y.lr = HCbot;
+ x.ul = x.ll = w-x.ur = w-x.lr;
+ x.ur-x.ul = (ht+dp)-2smallgap;
+ symbolpath0 := z.ul--z.ur;
+ symbolpath1 := z.ll--z.lr;
+ draw symbolpath0; draw symbolpath1;
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+
+beginchar(midhoriz,wd#,ht#,dp#); "Middle of a horizontal cable";
+ currentpicture := symbolpic0;
+ charbox; endchar;
+beginchar(righthoriz,wd#,ht#,dp#); "Right end of a horizontal cable";
+ currentpicture := symbolpic0;
+ charbox; endchar;
+
+ligtable "+": specialhoriz:
+ "+" |=: righthoriz;
+ligtable righthoriz:
+ "+" |=: righthoriz,
+ specialhoriz =:| midhoriz,
+ righthoriz =:| midhoriz;
+
+beginchar(specialhoriz,wd#,ht#,dp#); "Special horizontal cable";
+ pickup symbol_pen;
+ specialspread = 1.5symbolwidth;
+ y.ul = y.ur = HCtop;
+ y.ll = y.lr = HCbot;
+ x.ul = x.ll = w-x.ur = w-x.lr;
+ x.ur-x.ul = (ht+dp)-2smallgap;
+ draw rt (w/2+specialspread,y.ur)--z.ur;
+ draw rt (w/2+specialspread,y.lr)--z.lr;
+ draw lft (w/2-specialspread,y.ur)--z.ul;
+ draw lft (w/2-specialspread,y.lr)--z.ll;
+ draw (w/2+specialspread,HCttop)--(w/2+specialspread,HCbbot);
+ draw (w/2-specialspread,HCttop)--(w/2-specialspread,HCbbot);
+ charbox; endchar;
+
+beginchar("k",wd#,ht#,dp#); "Knit cable background";
+ pickup symbol_pen;
+ draw top (w/2, botcableheight+cablevertgap)--bot(w/2,h-topgap);
+ charbox;
+ symbolpic0 := currentpicture;
+ endchar;
+beginchar("c",wd#,ht#,dp#); "Knit cable background";
+ currentpicture := symbolpic0;
+ endchar;
+beginchar(kright,wd#,ht#,dp#); "Knit cable background";
+ currentpicture := symbolpic0;
+ endchar;
+
+beginchar("p",wd#,ht#,dp#); "Purl cable background";
+ pickup symbol_pen;
+ draw purlbar;
+ purlbox;
+ symbolpic0 := currentpicture;
+ endchar;
+beginchar("g",wd#,ht#,dp#); "Purl cable background";
+ currentpicture := symbolpic0;
+ purlbox;
+ endchar;
+beginchar(pright,wd#,ht#,dp#); "Purl cable background";
+ currentpicture := symbolpic0;
+ purlbox;
+ endchar;
+
+beginchar("n",wd#,ht#,dp#); "Back make one";
+ pickup symbol_pen;
+ drawM(h-topgap, botcableheight+cablevertgap, 0.5w,symbolwidth);
+ charbox;
+ symbolpic0:=currentpicture;
+ endchar;
+beginchar(nright,wd#,ht#,dp#); "Back make one";
+ currentpicture := symbolpic0; endchar;
+
+beginchar("e",wd#,ht#,dp#); "Back purlwise make one";
+ pickup purl_symbol_pen;
+ drawM(h-topgap, botcableheight+cablevertgap, 0.5w,purl_symbolwidth);
+ symbolpic0:=currentpicture; purlbox;
+endchar;
+beginchar(eright,wd#,ht#,dp#); "Back purlwise make one";
+ currentpicture := symbolpic0;
+ purlbox;
+endchar;
+
+beginchar("N",wd#,ht#,dp#); "Front make one";
+ pickup symbol_pen;
+ drawM(topcableheight-cablevertgap, -d+bottomgap, 0.5w,symbolwidth);
+ symbolpic0 := currentpicture;
+charbox; endchar;
+beginchar(Nright,wd#,ht#,dp#); "Front make one";
+ currentpicture := symbolpic0;
+charbox; endchar;
+
+beginchar("d",wd#,ht#,dp#); "Back decrease";
+ pickup symbol_pen;
+ drawSSK(h-topgap, botcableheight+cablevertgap);
+ charbox; symbolpic0:=currentpicture;
+endchar;
+beginchar(dright,wd#,ht#,dp#); "Back decrease";
+ fliphoriz(symbolpic0)(currentpicture); endchar;
+
+beginchar("o",wd#,ht#,dp#); "Back purl decrease";
+ pickup purl_symbol_pen;
+ drawSSK(h-topgap, botcableheight+cablevertgap);
+ symbolpic0:=currentpicture; purlbox;
+endchar;
+beginchar(oright,wd#,ht#,dp#); "Back purl decrease";
+ fliphoriz(symbolpic0)(currentpicture);
+ purlbox;
+ endchar;
+
+beginchar("D",wd#,ht#,dp#); "Front decrease";
+ pickup symbol_pen;
+ drawSSK(topcableheight-cablevertgap,-d+bottomgap);
+ charbox; symbolpic0:=currentpicture;
+endchar;
+beginchar(Dright,wd#,ht#,dp#); "Front decrease";
+ fliphoriz(symbolpic0)(currentpicture); endchar;
+
+
+beginchar("K",wd#,ht#,dp#); "Knit cable foreground";
+ pickup symbol_pen;
+ draw top (w/2, -d+bottomgap)--bot(w/2,topcableheight-cablevertgap);
+ charbox;
+ symbolpic0 := currentpicture;
+ endchar;
+beginchar("C",wd#,ht#,dp#); "Knit cable foreground";
+ currentpicture := symbolpic0;
+ endchar;
+beginchar(Kright,wd#,ht#,dp#); "Knit cable foreground";
+ currentpicture := symbolpic0;
+ endchar;
+
+beginchar("P",wd#,ht#,dp#); "Purl cable foreground";
+ pickup symbol_pen;
+ draw purlbar;
+ purlbox;
+ symbolpic0 := currentpicture;
+ endchar;
+beginchar("G",wd#,ht#,dp#); "Purl cable foreground";
+ currentpicture := symbolpic0;
+ endchar;
+beginchar(Pright,wd#,ht#,dp#); "Purl cable foreground";
+ currentpicture := symbolpic0;
+ purlbox;
+ endchar;
+
+beginchar("_",0,ht#,dp#); "Cable bottom connector";
+ pickup symbol_pen;
+ x2 - x1 = 2wd - cablebargap;
+ 0.5[x1,x2]=0;
+ y1=y2=botcableheight; draw z1--z2;
+ endchar;
+beginchar("^",0,ht#,dp#); "Cable top connector";
+ pickup symbol_pen;
+ x2 - x1 = 2wd - cablebargap;
+ 0.5[x1,x2]=0;
+ y1=y2=topcableheight; draw z1--z2;
+% pickup pensquare scaled symbolwidth;
+% draw rt (-wd/2,topcableheight) -- lft (wd/2,topcableheight);
+ endchar;
+
+beginchar(rightslash,0,ht#,dp#); "Cable right slant connector";
+ pickup symbol_pen;
+ x4 - x3 = cableslant; 0.5[x3,x4]=0;
+ y3=botcableheight; y4=topcableheight;
+ draw z3--z4;
+ symbolpic0 := currentpicture;
+ endchar;
+
+beginchar(leftslash,0,ht#,dp#); "Cable left slant connector";
+ pickup symbol_pen;
+ x3 - x4 = cableslant; 0.5[x3,x4]=0;
+ y3=botcableheight; y4=topcableheight;
+ draw z3--z4;
+ symbolpic0 := currentpicture;
+ endchar;
+
+
+beginchar(cabletopleft,0,ht#,dp#); "Cable top left connector";
+ pickup pensquare scaled symbolwidth;
+ rt x2 - lft x1 = wd+2cableextend; lft x1 = -wd + cablebargap/2;
+ y1=y2=topcableheight;
+ symbolpath0 := z1--z2;
+ draw symbolpath0;
+ symbolpic0 := currentpicture;
+ endchar;
+beginchar(cabletopright,0,ht#,dp#); "Cable top right connector";
+ currentpicture := symbolpic0 reflectedabout ((0,0),(0,h));
+ endchar;
+beginchar(cablebotleft,0,ht#,dp#); "Cable bot left connector";
+ pickup pensquare scaled symbolwidth;
+ y1=y2=botcableheight;
+ x1 = xpart (point 0 of symbolpath0);
+ x2 = xpart (point 1 of symbolpath0);
+ draw z1--z2;
+ symbolpic0 := currentpicture;
+ endchar;
+beginchar(cablebotright,0,ht#,dp#); "Cable bot right connector";
+ currentpicture := symbolpic0 reflectedabout ((0,0),(0,h));
+ endchar;
+
+beginchar(cableleftslash,0,ht#,dp#); "Cable slash connector";
+ pickup pensquare scaled symbolwidth;
+ y1 = y2 = botcableheight;
+ rt x1 = - cableslant/2; lft x2 = -wd + cablebargap/2;
+ draw z1--z2;
+ symbolpic0 := currentpicture;
+ endchar;
+beginchar(cablerightbackslash,0,ht#,dp#); "Cable slash connector";
+ currentpicture := symbolpic0 reflectedabout ((0,0),(0,h));
+ endchar;
+beginchar(cableleftbackslash,0,ht#,dp#); "Cable slash connector";
+ pickup pensquare scaled symbolwidth;
+ y1 = y2 = topcableheight;
+ rt x1 = - cableslant/2; lft x2 = -wd + cablebargap/2;
+ draw z1--z2;
+ symbolpic0 := currentpicture;
+ endchar;
+beginchar(cablerightslash,0,ht#,dp#); "Cable slash connector";
+ currentpicture := symbolpic0 reflectedabout ((0,0),(0,h));
+ endchar;
+
+if fonttype = foretype:
+
+ligtable
+"k":
+"p":
+"c":
+"g":
+"o":
+"e":
+"n":
+"d":
+ "k" |=:| cablebotleft,
+ "c" |=:| cablebotleft,
+ "n" |=:| cablebotleft,
+ "d" |=:| cablebotleft,
+ "p" |=:| cablebotleft,
+ "g" |=:| cablebotleft,
+ "e" |=:| cablebotleft,
+ "o" |=:| cablebotleft,
+ "K" |=:| rightslash,
+ "P" |=:| rightslash,
+ "N" |=:| rightslash,
+ "D" |=:| rightslash,
+ rightslash |=:| cableleftslash;
+
+ligtable
+"K":
+"P":
+"C":
+"G":
+"N":
+"D":
+ "K" |=:| cabletopleft,
+ "P" |=:| cabletopleft,
+ "G" |=:| cabletopleft,
+ "C" |=:| cabletopleft,
+ "N" |=:| cabletopleft,
+ "D" |=:| cabletopleft,
+ "k" |=:| leftslash,
+ "p" |=:| leftslash,
+ "o" |=:| leftslash,
+ "e" |=:| leftslash,
+ "n" |=:| leftslash,
+ "d" |=:| leftslash,
+ leftslash |=:| cableleftbackslash;
+
+ligtable
+Kright:
+Pright:
+Nright:
+Dright:
+ "K" |=: Kright,
+ Kright |=:| cabletopright,
+ "P" |=: Pright,
+ Pright |=:| cabletopright,
+ "N" |=: Nright,
+ Nright |=:| cabletopright,
+ "D" |=: Dright,
+ Dright |=:| cabletopright;
+
+ligtable
+kright:
+pright:
+oright:
+eright:
+nright:
+dright:
+ "k" |=: kright,
+ kright |=:| cablebotright,
+ "p" |=: pright,
+ pright |=:| cablebotright,
+ "o" |=: oright,
+ oright |=:| cablebotright,
+ "e" |=: eright,
+ eright |=:| cablebotright,
+ "n" |=: nright,
+ nright |=:| cablebotright,
+ "d" |=: dright,
+ dright |=:| cablebotright;
+
+ligtable rightslash:
+ "K" |=: Kright,
+ Kright |=:| cablerightslash,
+ "P" |=: Pright,
+ Pright |=:| cablerightslash,
+ "N" |=: Nright,
+ Nright |=:| cablerightslash,
+ "D" |=: Dright,
+ Dright |=:| cablerightslash;
+ligtable leftslash:
+ "k" |=: kright,
+ "p" |=: pright,
+ "o" |=: oright,
+ "e" |=: eright,
+ "n" |=: nright,
+ "d" |=: dright,
+ kright |=:| cablerightbackslash,
+ nright |=:| cablerightbackslash,
+ dright |=:| cablerightbackslash,
+ pright |=:| cablerightbackslash,
+ eright |=:| cablerightbackslash,
+ oright |=:| cablerightbackslash;
+
+fi
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knit_symbols.mf b/Master/texmf-dist/fonts/source/public/knitting/knit_symbols.mf
new file mode 100644
index 00000000000..b69176268d2
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knit_symbols.mf
@@ -0,0 +1,930 @@
+if known ps_output:
+ font_coding_scheme := "T1-WGL4.enc";
+fi
+
+def purlfill =
+ if fonttype = purltype:
+ fill
+ ( -purlextend,-d-purlextend)--
+ (w+purlextend,-d-purlextend)--
+ (w+purlextend, h+purlextend)--
+ ( -purlextend, h+purlextend)--cycle;
+ fi
+enddef;
+
+purltype = 0;
+gridtype = 1;
+foretype = 2;
+bothtype = 3;
+
+if gridfont:
+def charbox =
+ if fonttype = purltype:
+ currentpicture := nullpicture;
+ else:
+ if fonttype = gridtype: currentpicture := nullpicture; fi
+ if (fonttype = gridtype) or (fonttype = bothtype):
+ pickup pencircle scaled gridwidth;
+ fill (-gridwidth/2,-d-gridwidth/2)--(w+gridwidth/2,-d-gridwidth/2)--
+ (w+gridwidth/2,h+gridwidth/2)--(-gridwidth/2,h+gridwidth/2)--cycle;
+ unfill (gridwidth/2,-d+gridwidth/2)--(w-gridwidth/2,-d+gridwidth/2)--
+ (w-gridwidth/2,h-gridwidth/2)--(gridwidth/2,h-gridwidth/2)--cycle;
+ %draw (0,-d)--(w,-d)--(w,h)--(0,h)--cycle;
+ fi
+ fi
+ enddef;
+else:
+def charbox =
+ if fonttype = purltype:
+ currentpicture := nullpicture;
+ fi
+ enddef;
+fi
+
+
+def purlbox = charbox; purlfill; enddef;
+
+ picture symbolpic[];
+ path symbolpath[];
+
+def fliphoriz(text beginning, ending) =
+ ending := (beginning) reflectedabout ((.5w,0),(.5w,h));
+ enddef;
+def flipvert(text beginning, ending) =
+ ending := (beginning) reflectedabout ((0,(h-d)/2),(w,(h-d)/2));
+ ending := (ending) shifted (0,bottomgap-topgap);
+ enddef;
+
+pair arrowpoint;
+
+def definearrow(text thepath, arrowlength, endpath) =
+
+ arrowpoint := point infinity of thepath;
+ arrowdir := angle(direction infinity of thepath);
+ endpath := arrowpoint + ((1,0) rotated (arrowdir+150) scaled arrowlength)
+ --arrowpoint + ((1,0) rotated arrowdir scaled 0.5symbolwidth)
+ --arrowpoint + ((1,0) rotated (arrowdir-150) scaled arrowlength)
+ ;
+ enddef;
+
+beginchar("s",wd#,ht#,dp#); "Slip one left";
+ pickup symbol_pen;
+ y1 = y2 = (h-d)/2-offset;
+ 0.5[x1,x2]=w/2;
+ rt x2 - lft x1 = ht+dp-2*smallgap;
+ symbolpath0 := z1--z2;
+ definearrow(symbolpath0)((x2-x1)/3)(symbolpath1);
+ draw symbolpath0;
+ draw symbolpath1;
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+
+beginchar("S",wd#,ht#,dp#); "Slip one right";
+ fliphoriz(symbolpic0)(currentpicture);
+ charbox; endchar;
+
+beginchar("[",wd#,ht#,dp#); "Slip one left knitwise";
+ pickup symbol_pen;
+ pickup symbol_pen;
+ y1 = y2 = (h-d)/2-offset;
+ 0.5[x1,x2]=w/2;
+ rt x2 - lft x1 = ht+dp-2*0.3[smallgap,mingap];
+ symbolpath0 := z1--z2;
+ definearrow(symbolpath0)((x2-x1)/3)(symbolpath1);
+ draw symbolpath0;
+ draw symbolpath1;
+ 0.5[y3,y4] = y1;
+ 0.5[x3,x4] = 0.5[lft x1, lft xpart point 0 of symbolpath1];
+ z4 = z3+whatever*(1,2);
+ y4-y3 = 1.5 ypart (point 2 of symbolpath1 - point 0 of symbolpath1);
+ draw z3--z4;
+ labels(1,2,3,4);
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+
+beginchar("]",wd#,ht#,dp#); "Slip one right knitwise";
+ fliphoriz(symbolpic0)(currentpicture);
+ flipvert(currentpicture)(currentpicture);
+ charbox; endchar;
+
+
+beginchar("h",wd#,ht#,dp#); "Drop stitch";
+ pickup symbol_pen;
+ y1 = bot h-small_topgap;
+ y2 = top -d+small_bottomgap;
+ x1 = x2 =w/2;
+ symbolpath0 := z1--z2;
+ definearrow(symbolpath0)((y1-y2)/3)(symbolpath1);
+ draw symbolpath0;
+ draw symbolpath1;
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+
+beginchar("H",wd#,ht#,dp#); "Up arrow";
+ flipvert(symbolpic0)(currentpicture);
+ charbox; endchar;
+
+beginchar("O",wd#,ht#,dp#); "Yarn over";
+ pickup symbol_pen;
+ top z1 = (0.5w, h-topgap+o);
+ bot z3 = (0.5w, bottomgap-d-o);
+ x2-x4 = y1-y3; 0.5[x2,x4]=0.5w;
+ y2 = y4 = 0.5[y1,y3];
+ penpos1(symbolwidth,90);
+ penpos2(symbolwidth,0);
+ penpos3(symbolwidth,270);
+ penpos4(symbolwidth,180);
+ penstroke z1e..z2e..z3e..z4e..cycle;
+ charbox; endchar;
+
+beginchar("@",wd#,ht#,dp#); "Bead";
+ pickup symbol_pen;
+ z1 = (0.5w, 0.667h);
+ z3 = (x1,-d+h-y1);
+ x2-x4 = y1-y3; 0.5[x2,x4]=0.5w;
+ y2 = y4 = 0.5[y1,y3];
+ fill z1..z2..z3..z4..cycle;
+ unfill fullcircle scaled 0.3333(y1-y3) shifted 0.5[z1,z3];
+ charbox; endchar;
+
+beginchar(ditto,wd#,ht#,dp#); "Wrap and turn";
+ if fonttype <> purltype:
+ pickup symbol_pen;
+ z0 = 0.4[z1,z3] = 0.5[z2,z4];
+ x3=x1=w/2; y2=y4; y3-y1=x4-x2;
+
+ z5 = z3 + 1.5((x4-x2)/2,0);
+ z6 = z5 + ((x4-x2)/2,0) rotated 150;
+ z7 = z5 + ((x4-x2)/2,0) rotated -150;
+
+ y6 = h-wrapturngap;
+ y1 = -d+wrapturngap;
+
+ top (1-2spiralgap)[z0,z3]+(whatever,symbolwidth) = bot z7;
+
+ symbolpath0 :=
+ (1-2spiralgap)[z0,z2]
+ ..(1-2spiralgap)[z0,z3]
+ ..(1-spiralgap)[z0,z4]
+ ..z1
+ ..z2
+ ..z3{right}--z5;
+ definearrow(symbolpath0)((x4-x2)/2)(symbolpath1);
+ draw symbolpath0;
+ draw symbolpath1;
+ fi
+ symbolpic0 := currentpicture;
+endchar;
+beginchar(19,wd#,ht#,dp#); "Reverse wrap and turn";
+ fliphoriz(symbolpic0)(currentpicture);
+ endchar;
+
+ligtable
+ditto:
+ ditto =: 19;
+ligtable
+"-":
+"=":
+ ditto |=: 19;
+
+
+def drawM(expr topheight, bottomheight, mwidth, penwidth) =
+ pickup pensquare scaled penwidth;
+ rt x3 - lft x1 = 1.43 (y7-y1) = mwidth;
+ y1 = y2 = y3;
+ bot y7 = y8 = y9;
+ topheight - y7 = y1-bottomheight;
+ y4 = y10; y5 = y6;
+ y8 - y5 = 0.4(x2 - x1);
+ y8 - y4 = 1.6(y8 - y5);
+ x1 = x7; x5 = x2; x6 = x3;
+ x4 - x1 = x10 - x2 = 0.3penwidth;
+ x8 = 0.6[x1,x2]; x9 - x2 = x8 - x1;
+ x3 - x2 = x2 - x1;
+ x1 = w - x3;
+ penpos1 (penwidth, 0);
+ penpos7 (penwidth, 0);
+ penpos5 (penwidth, 0);
+ penpos6 (penwidth, 0);
+ penpos2 (penwidth, 0);
+ penpos3 (penwidth, 0);
+ penpos4 (penwidth-2(x4-x1), 180);
+ penpos10 (penwidth-2(x4-x1), 180);
+ penpos8 (penwidth, 90);
+ penpos9 (penwidth, 90);
+ %draw z4{up}..z8{right}..z5{down}; draw z10{up}..z9{right}..z6{down};
+ penstroke z1e--z7e;
+ penstroke z4e{up}..z8e..z5e{down}--z2e; penstroke z10e{up}..z9e..z6e{down}--z3e;
+ labels(1,2,3,4,5,6,7,8,9,10,4l,4r);
+enddef;
+
+def drawstar(expr topheight, bottomheight) =
+ top z1 = (w/2,topheight+o);
+ bot z2 = (w/2, bottomheight-o);
+ z3 - z4 = (z1-z2) rotated 60;
+ z5 - z6 = (z1-z2) rotated 120;
+ 0.5[z3,z4] = 0.5 [z5,z6] = 0.5[z1,z2];
+ draw z1--z2; draw z3--z4; draw z5--z6;
+enddef;
+
+beginchar("*",wd#,ht#,dp#); "Special instructions"; pickup symbol_pen; drawstar(h-topgap,-d+bottomgap); charbox; endchar;
+
+%beginchar("a",wd#,ht#,dp#); "Small bobble";
+% pickup symbol_pen;
+% top z1 = (0.5w, h-small_topgap+o);
+% bot z3 = (0.5w, small_bottomgap-d-o);
+% x2-x4 = y1-y3; 0.5[x2,x4]=0.5w;
+% y2 = y4 = 0.5[y1,y3];
+% pickup pensquare scaled symbolwidth rotated 45;
+% draw z1--z2; draw z2--z3; draw z3--z4; draw z4--z1;
+% drawdot 0.5[z1,z3];
+%charbox; endchar;
+beginchar(0,wd#,ht#,dp#); "Large bobble";
+ pickup symbol_pen;
+ top z0 = (w/2, h-min_topgap) if offset=0: + (0,o) fi;
+ bot z2 = (w/2, -d+min_bottomgap) if offset=0: - (0,o) fi;
+ 0.5[z1,z3] = 0.5[z0,z2];
+ z1-z3 = (z2-z0) rotated 90;
+ draw z0..z1..z2..z3..cycle;
+charbox; endchar;
+
+
+def drawhat(expr linewd) =
+ pickup symbol_pen;
+ top z1 = (w/2, h-min_topgap+o);
+ x3-x1 = x1-x2; y3=y2;
+ x3-x2 = standardheight;
+ y1-y3 = (x1-x2);
+ z3l = z3 + ((linewd/2,0) rotated (angle (z1-z3)-90));
+ z3m = z3 + ((linewd/2,0) rotated (angle (z3-z1)));
+ 0.5[z3l,z3r] = z3;
+ z2l = z2 + ((linewd/2,0) rotated (angle (z2-z1)-90));
+ z2m = z2 + ((linewd/2,0) rotated (angle (z2-z1)));
+ 0.5[z2l,z2r] = z2;
+ z1r = z3r + whatever*(z1-z3);
+ z1r = z2r + whatever*(z2-z1);
+ z1l3-z1 = z3l-z3;
+ z1l2-z1 = z2l-z2;
+ fill z3l---z1l3..z1l2---z2l..z2m..z2r---z1r---z3r..z3m..cycle;
+enddef;
+
+
+
+beginchar(1,wd#,ht#,dp#); "Make 1 from N";
+ % Fontforge keeps mangling this symbol, so I'm doing it the slow, hard, but reliable way.
+ drawhat(symbolwidth);
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+beginchar(2,wd#,ht#,dp#); "Purl make 1 from N";
+ drawhat(purl_symbolwidth);
+ symbolpic1 := currentpicture;
+ purlbox; endchar;
+beginchar(3,wd#,ht#,dp#); "Make N from 1";
+ flipvert(symbolpic0)(currentpicture);
+ charbox; endchar;
+beginchar(4,wd#,ht#,dp#); "Purl make N from 1";
+ flipvert(symbolpic1)(currentpicture);
+ purlbox; endchar;
+
+beginchar("U",wd#,ht#,dp#); "Cast on";
+ if fonttype <> purltype:
+ pickup symbol_pen;
+ bot y1 = bot y3 = -d+bottomgap;
+ x1 = 0; x3 = w; x2 = w/2; top y2 = h-topgap;
+ draw z1{right}..z2{left}..z3{right};
+ fi
+ endchar;
+beginchar("f",wd#,ht#,dp#); "Bind off knitwise";
+ if fonttype <> purltype:
+ pickup symbol_pen;
+ x1 = 0; x3 = w; x2 = w/2;
+ y1 = y3 = (h-d)/2; top y2 = h-topgap;
+ bot z4 = (w/2, -d+bottomgap);
+ draw z1..z2{right}..z3;
+ %draw z4--bot z1;
+ fi
+ endchar;
+beginchar("F",wd#,ht#,dp#); "Bind off purlwise";
+ if fonttype <> purltype:
+ pickup symbol_pen;
+ x1 = 0; x3 = w; x2 = w/2;
+ y1 = y3 = (h-d)/2; top y2 = h-topgap;
+ draw z1..z2{right}..z3;
+ fi
+ purlfill; endchar;
+beginchar("Z",wd#,ht#,dp#); "Knit one doubly elongated";
+ pickup symbol_pen;
+% drawstar(h-topgap,-d+bottomgap);
+ 0.5[z1,z7] = top (w/2, -d+min_bottomgap);
+ y1 = y7;
+ x7 - x1 = 0.8(x8 - x0);
+ 0.5[x0,x8] = w/2;
+ y0 = y8 = 0.5[y1,y2];
+ x8 - x0 = y2 - y1;
+ 0.5[z2,z6] = bot (w/2, h-min_topgap);
+ y2 = y6;
+ x6 - x2 = 0.7(x7-x1);
+ 0.5[x3,x5] = w/2;
+ y3 = y5 = 0.2[y1,y2];
+ x5 - x3 = 0.5(x7-x1);
+
+ x4 = w/2; y4 = y2;
+
+ endangle := 110;
+ midtension := 2;
+ sidetension := 2;
+
+ draw
+ z1{dir endangle}
+ ..z0{up}
+ ..z2{right}
+ ..tension sidetension
+ ..z3{left}
+ ..tension midtension
+ ..z4{right}
+ ..tension midtension
+ ..z5{left}
+ ..tension sidetension
+ ..z6{right}
+ ..z8{down}
+ ..z7{dir(-endangle)};
+
+ charbox; endchar;
+
+beginchar("z",wd#,ht#,dp#); "Knit one elongated";
+ pickup symbol_pen;
+ 0.5[z1,z5] = top (w/2, -d+small_bottomgap);
+ y1 = y5;
+ x5 - x1 = 0.8(x6-x0);
+ 0.5[x0,x6] = w/2;
+ y0 = y6 = 0.5[y1,y2];
+ x6 - x0 = y2 - y1;
+ 0.5[z2,z4] = bot (w/2, h-small_topgap);
+ y2 = y4;
+ x4 - x2 = 0.6(x5-x1);
+ x3 = w/2; y3 = 0.2[y1,y2];
+
+ endangle := 110;
+ midtension := 1.5;
+
+ draw
+ z1{dir endangle}..z0{up}..z2{right}..tension midtension..z3{left}
+ ..tension midtension..z4{right}..z6{down}..z5{dir(-endangle)};
+
+ charbox; endchar;
+
+beginchar(25,wd#/2,ht#,dp#); "Left end of a wide increase";
+ if fonttype <> purltype:
+ pickup pensquare xscaled wideinctip yscaled wideincline;
+ z1 = (w+cableextend,(h-topgap-d+bottomgap)/2);
+ x2 = w/3; top y2 = h-min_topgap+o;
+ fill bot lft z2{down}..bot z1{right}--top z1{left}..top rt z2{up}--top lft z2---cycle;
+ if gridfont:
+ if fonttype = gridtype: currentpicture := nullpicture; fi
+ if (fonttype = gridtype) or (fonttype = bothtype):
+ pickup pensquare scaled gridwidth;
+ draw lft (w,h)--(0,h);
+ draw (0,h)--(0,-d);
+ draw (0,-d)--lft (w,-d);
+ fi fi fi
+ symbolpic0 := currentpicture;
+ endchar;
+beginchar(22,wd#/2,ht#,dp#); "Extender for a wide increase/decrease";
+ if fonttype <> purltype:
+ z1 = (w+cableextend,(h-topgap-d+bottomgap)/2);
+ x2 = 0-cableextend; y2 = y1;
+ pickup pensquare scaled wideincline;
+ draw rt z2 -- lft z1;
+ if gridfont:
+ if fonttype = gridtype: currentpicture := nullpicture; fi
+ if (fonttype = gridtype) or (fonttype = bothtype):
+ pickup pensquare scaled gridwidth;
+ draw lft (w,h) -- rt (0,h); draw rt (0,-d) -- lft (w,-d);
+ fi fi fi
+ endchar;
+beginchar(26,wd#/2,ht#,dp#); "Right end of a wide increase";
+ fliphoriz(symbolpic0)(currentpicture); endchar;
+beginchar(27,wd#/2,ht#,dp#); "Left end of a wide decrease";
+ flipvert(symbolpic0)(currentpicture); endchar;
+beginchar(28,wd#/2,ht#,dp#); "Right end of a wide decrease";
+ fliphoriz(symbolpic0)(currentpicture); flipvert(currentpicture)(currentpicture);endchar;
+
+beginchar(29,wd#,ht#,dp#); "Middle of a wide increase";
+ if fonttype <> purltype:
+ pickup pensquare xscaled wideinctip yscaled wideincline;
+ z1 = (-cableextend,(h-topgap-d+bottomgap)/2);
+ z3 = (w+cableextend,(h-topgap-d+bottomgap)/2);
+ x2 = w/2; bot y2 = -d+min_bottomgap-o;
+ %draw z1{right}..z2{down};
+ fill bot lft z2{up}..bot z1{left}--top z1{right}..top rt z2---bot rt z2--cycle;
+ %draw z3{left}..z2{down};
+ fill bot rt z2{up}..bot z3{right}--top z3{left}..top lft z2---bot lft z2--cycle;
+ if gridfont:
+ if fonttype = gridtype: currentpicture := nullpicture; fi
+ if (fonttype = gridtype) or (fonttype = bothtype):
+ pickup pensquare scaled gridwidth;
+ draw lft (w,h) -- rt (0,h); draw rt (0,-d) -- lft (w,-d);
+ fi fi fi
+ symbolpic0 := currentpicture;
+ endchar;
+beginchar(30,wd#,ht#,dp#); "Middle of a wide decrease";
+ flipvert(symbolpic0)(currentpicture);
+ endchar;
+
+if 5*wd# < symbolmaxwd#:
+
+beginchar(31,5wd#,ht#,dp#); "Make 1 from 5";
+ pickup pensquare xscaled wideinctip yscaled wideincline;
+ top z1 = (w/2,h-min_topgap+o);
+ x2 = wd/3; bot y2 = bot y3 = -d+min_bottomgap-o;
+ x3 - x1 = x1 - x2;
+ z4 = 0.5[z1,z2]; z5 = 0.5[z1,z3];
+ %draw z2{up}..z4{right}..z1{up};
+ %draw z3{up}..z5{left}..z1{up};
+
+ fill bot lft z2---top lft z2..top z4{right}..top lft z1{up}--top rt z1---bot rt z1..bot z4{left }..bot rt z2{down}--cycle;
+ fill bot rt z3---top rt z3..top z5{left }..top rt z1{up}--top lft z1---bot lft z1..bot z5{right}..bot lft z3{down}--cycle;
+
+ charbox;
+ endchar;
+fi
+
+beginchar("~",wd#,ht#,dp#); "Empty box (spacer)"; endchar;
+beginchar("`",0.5wd#,ht#,dp#); "Empty box (spacer)"; endchar;
+beginchar("'",0.5wd#,ht#,dp#); "Empty box (spacer)";
+ if fonttype = purltype: fill (0,-d)--(w,-d)--(w,h)--(0,h)--cycle; fi
+ endchar;
+
+
+beginchar("m",wd#,ht#,dp#); "Make one";
+ pickup symbol_pen;
+ drawM(h-topgap, -d+bottomgap, 0.5(h+d),symbolwidth);
+ charbox; endchar;
+beginchar("M",wd#,ht#,dp#); "Make one purlwise";
+ pickup purl_symbol_pen;
+ drawM(h-topgap, -d+bottomgap, 0.5(h+d),purl_symbolwidth);
+ purlbox; endchar;
+
+%def drawB(expr topgap, bottomgap, symbolwidth) =
+% x1 = x2 = x3; x4 = x5 = x6; x7=x8 + 0.05(x7-x1);
+% y1 = y4; y2 = y5; y3 = y6; y7 = 0.5[y1,y2]; y8 = 0.5[y2,y3];
+% top y3 = h-topgap; bot y1 = -d+bottomgap;
+% y2 = 0.51[y1,y3];
+% x7-x1 = 1.3(y2-y1);
+% x7-x6 = 0.7(x7-x1);
+% 0.5[x7,x1]=w/2+ho;
+% z9=z10=z5; z11=rt z2;
+%
+% penpos11(symbolwidth,-90);
+% penpos5(symbolwidth,-90);
+% penpos8(symbolwidth,0);
+% penpos6(symbolwidth,90);
+% penpos2(symbolwidth,180);
+% penpos4(symbolwidth,-90);
+% penpos7(symbolwidth,0);
+% z10l=z5l; z9l=z5r; z10r = 0.4[z5,z5r];
+% z9r-z9l=z10l-z10r;
+% y3r=y6r; y3l=y6l; x3r=x2r=x1r; x3l=x2l=x1l;
+% y1r=y4r; y1l=y4l;
+% penstroke z11e--z5e--z10e{right}..z8e..z6e---z3e--z2e--z1e---z4e..z7e..z9e{left};
+%
+%enddef;
+%
+%
+%beginchar("b",wd#,ht#,dp#); "Knit tbl";
+% pickup symbol_pen;
+% drawB(topgap, bottomgap, symbolwidth);
+% charbox; endchar;
+%beginchar("B",wd#,ht#,dp#); "Purl tbl";
+% pickup purl_symbol_pen;
+% drawB(topgap, bottomgap, purl_symbolwidth);
+% purlbox; endchar;
+
+beginchar("|",overlinewd#,ht#,dp#); "Divider";
+ if fonttype <> purltype:
+ fill(0,-d-gridwidth/2-purlextend)--(0,h+gridwidth/2+purlextend)
+ --(w,h+gridwidth/2+purlextend)--(w,-d-gridwidth/2-purlextend)
+ --cycle;
+ if gridfont: if fonttype = gridtype: currentpicture := nullpicture; fi fi
+ fi
+endchar;
+
+%Twists
+
+path twistpath[];
+
+ pair time;
+
+beginchar("x",wd#,ht#,dp#); "Twist slanting right";
+ pickup symbol_pen;
+ bot lft z0 = (0.5w-0.4 standardheight-ho,-d+small_bottomgap-o);
+ bot rt z4 = (0.5w+0.4 standardheight+ho,-d+small_bottomgap-o);
+ top z2 = (0.5w, h-topgap+o);
+ x3-x1 = 0.8(x0-x4); 0.5[x1,x3] = w/2;
+ y1 = y3 = 0.7[y0,y2];
+ twistpath0:=z0{curl 0.1}..z1{up}..z2..z3{down}..z4{curl 0.1};
+
+ pathdir0 = angle (direction 0 of twistpath0);
+ pathdir4 = angle (direction 4 of twistpath0);
+
+ penpos0(symbolwidth, (pathdir0 + 90));
+ penpos1(symbolwidth, 180);
+ penpos2(symbolwidth, 270);
+ penpos3(symbolwidth, 360);
+ penpos4(symbolwidth, (pathdir4 + 90));
+
+ z5 = z0; z6 = z1;
+ penpos5(eraserwidth, (pathdir0 + 90));
+ penpos6(eraserwidth, 180);
+
+ time := (z5l{direction 0 of twistpath0}..z6l{up}) intersectiontimes
+ (z3l{down}..z4l{direction 4 of twistpath0});
+ twistpath1 := subpath (ypart(time),1) of (z3l{down}..z4l{direction 4 of twistpath0});
+ time := (z5l{direction 0 of twistpath0}..z6l{up}) intersectiontimes
+ (z3r{down}..z4r{direction 4 of twistpath0});
+ twistpath2 := subpath (ypart(time),1) of (z3r{down}..z4r{direction 4 of twistpath0});
+ fill twistpath1 & (point infinity of twistpath1--point infinity of twistpath2)
+ & reverse twistpath 2 &
+ (point 0 of twistpath2--point 0 of twistpath1) & cycle;
+
+ time := (z5r{direction 0 of twistpath0}..z6r{up}) intersectiontimes
+ (z3l{down}..z4l{direction 4 of twistpath0});
+ twistpath1 := subpath (0,ypart(time)) of (z3l{down}..z4l{direction 4 of twistpath0});
+ time := (z5r{direction 0 of twistpath0}..z6r{up}) intersectiontimes
+ (z3r{down}..z4r{direction 4 of twistpath0});
+ twistpath2:= subpath (0,ypart(time)) of (z3r{down}..z4r{direction 4 of twistpath0});
+ fill twistpath1 & (point infinity of twistpath1--point infinity of twistpath2)
+ & reverse twistpath 2 &
+ (point 0 of twistpath2--point 0 of twistpath1) & cycle;
+
+ penstroke z0e{direction 0 of twistpath0}..
+ z1e{up}..z2e{left}..z3e{down}
+ ;%..z4e{direction 4 of twistpath0};
+
+ symbolpic0 := currentpicture;
+ labels(0,1,2,3,4,5);
+ charbox; endchar;
+
+ numeric t[];
+
+beginchar("t",wd#,ht#,dp#); "Twist slanting left";
+ fliphoriz(symbolpic0)(currentpicture);
+ charbox; endchar;
+
+beginchar("X",wd#,ht#,dp#); "Purl right twist";
+ currentpicture := symbolpic0;
+ purlbox; endchar;
+beginchar("T",wd#,ht#,dp#); "Purl left twist";
+ fliphoriz(symbolpic0)(currentpicture);
+ purlbox; endchar;
+
+beginchar("b",wd#,ht#,dp#); "Right upside-down twist";
+ flipvert(symbolpic0)(currentpicture);
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+beginchar("q",wd#,ht#,dp#); "Left upside-down twist";
+ fliphoriz(symbolpic0)(currentpicture);
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+beginchar("Q",wd#,ht#,dp#); "Purl right upside-down twist";
+ currentpicture := symbolpic0;
+ purlbox; endchar;
+beginchar("B",wd#,ht#,dp#); "Purl left upside-down twist";
+ fliphoriz(symbolpic0)(currentpicture);
+ purlbox; endchar;
+
+%2/1 increases and decreases
+
+def drawSSK(expr topheight,bottom) =
+ bot rt z1 = (0.5w+0.5 (topheight-bottom)+ho,bottom-o);
+ top lft z2 = (0.5w-0.5 (topheight-bottom), topheight+o);
+ bot lft z3 = (0.5w-0.5 (topheight-bottom), bottom-o);
+ symbolpath0 := z1--z2--z3;
+ draw symbolpath0;
+enddef;
+
+beginchar("<",decrwidth(2),ht#,dp#); "SSK or left-slant cable";
+ pickup symbol_pen;
+ drawSSK(h-topgap,-d+bottomgap);
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+beginchar(">",decrwidth(2),ht#,dp#); "k2tog or right-slant cable";
+ fliphoriz(symbolpic0)(currentpicture);
+ charbox; endchar;
+beginchar(";",decrwidth(2),ht#,dp#); "P2tog";
+ pickup purl_symbol_pen;
+ draw symbolpath0;
+ symbolpic0 := currentpicture;
+ purlbox; endchar;
+beginchar(":",decrwidth(2),ht#,dp#); "SSP";
+ fliphoriz(symbolpic0)(currentpicture);
+ purlbox; endchar;
+
+beginchar("j",incrwidth(1),ht#,dp#); "Lifted increase slanting left";
+ pickup symbol_pen;
+ top lft z1 = (0.5w-0.5 standardheight-ho,h-topgap+o);
+ bot rt z2 = (0.5w+0.5 standardheight, -d+bottomgap-o);
+ symbolpath0 := z2--z1;
+ definearrow(symbolpath0)((y1-y2)/3)(symbolpath1);
+ draw symbolpath0;
+ draw symbolpath1;
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+beginchar("i",incrwidth(1),ht#,dp#); "Lifted increase slanting right";
+ fliphoriz(symbolpic0)(currentpicture);
+ charbox; endchar;
+beginchar("J",incrwidth(1),ht#,dp#); "Purl increase slanting right";
+ pickup purl_symbol_pen;
+ draw symbolpath0;
+ draw symbolpath1;
+ symbolpic0 := currentpicture;
+ purlbox; endchar;
+beginchar("I",incrwidth(1),ht#,dp#); "Purl increase slanting left";
+ fliphoriz(symbolpic0)(currentpicture);
+ purlbox; endchar;
+
+beginchar("(",wd#,ht#,dp#); "Left-slanting line";
+ pickup symbol_pen;
+ draw symbolpath0;
+ charbox; endchar;
+beginchar(")",wd#,ht#,dp#); "Right-slanting line";
+ pickup symbol_pen;
+ draw symbolpath0;
+ fliphoriz(currentpicture)(currentpicture);
+ charbox; endchar;
+
+beginchar("y",incrwidth(2),ht#,dp#); "Knit front and back";
+ pickup symbol_pen;
+ bot lft z1 = (0.5w-0.495 Vwidth-ho,-d+bottomgap-o);
+ top rt z2 = (0.5w+0.495 Vwidth+ho,h-topgap+o);
+ bot rt z3 = (0.5w+0.495 Vwidth+ho,-d+bottomgap-o);
+ top lft z4 = (0.5w-0.495 Vwidth-ho,h-topgap+o);
+ % For some reason, mf2pt1 doesn't like it if I use 0.5 Vwidth
+ z5 = whatever[z1,z2] = whatever[z3,z4];
+ draw z1--z2;
+ draw z4--z5;
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+beginchar("u",incrwidth(2),ht#,dp#); "Knit back and front";
+ fliphoriz(symbolpic0)(currentpicture);
+ charbox; endchar;
+
+beginchar("4",incrwidth(2),ht#,dp#); "Alternative SSK";
+ flipvert(symbolpic0)(currentpicture);
+ charbox; endchar;
+beginchar("5",incrwidth(2),ht#,dp#); "Alternative K2tog";
+ flipvert(symbolpic0)(currentpicture);
+ fliphoriz(currentpicture)(currentpicture);
+ charbox; endchar;
+
+
+beginchar("v",incrwidth(2),ht#,dp#); "Generic make 2 from 1";
+ pickup symbol_pen;
+ top rt z1 = (0.5w+0.5 Vwidth+ho,h-topgap+o);
+ bot y2 = -d+bottomgap-o; x2 = 0.5[x1,x3];
+ top lft z3 = (0.5w-0.5 Vwidth-ho,h-topgap+o);
+ symbolpath0 := z1--z2--z3;
+ draw symbolpath0;
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+beginchar("V",incrwidth(2),ht#,dp#); "Purl make 2 from 1";
+ pickup purl_symbol_pen;
+ draw symbolpath0;
+ symbolpic1 := currentpicture;
+ purlbox; endchar;
+
+beginchar("!",incrwidth(2),ht#,dp#); "Make 1 from 2";
+ flipvert(symbolpic0)(currentpicture);
+ charbox; endchar;
+beginchar("2",incrwidth(2),ht#,dp#); "Make 1 from 2 purlwise";
+ flipvert(symbolpic1)(currentpicture);
+ purlbox; endchar;
+
+%Double decreases and increases
+
+beginchar("w",incrwidth(3),ht#,dp#); "make 3 from 1";
+ pickup symbol_pen;
+ top lft z1 = (0.5w-0.5 Wwidth-ho,h-small_topgap+o);
+ bot z2 = (0.5w,-d+small_bottomgap-o);
+ top rt z3 = (0.5w+0.5 Wwidth+ho, h-small_topgap+o);
+ z4 = 0.5[z1,z3];
+ symbolpath0 := z1--z2--z3;
+ draw symbolpath0;
+ symbolpath1 := z2--z4;
+ draw symbolpath1;
+ charbox; endchar;
+beginchar("W",incrwidth(3),ht#,dp#); "Purl make 3 from 1";
+ pickup purl_symbol_pen;
+ draw symbolpath0; draw symbolpath1;
+ symbolpic0 := currentpicture;
+ purlbox; endchar;
+beginchar("Y",incrwidth(3),ht#,dp#); "Make 3 from 1 with YO center";
+ pickup symbol_pen;
+ draw symbolpath0;
+ top z4 = (0.5w, h-small_topgap+o);
+ bot z5 = z4 - (0, 0.5Wwidth); %Better way?
+ z6-z7 = (z4-z5) rotated 90; 0.5[z6,z7]=0.5[z4,z5];
+ draw z4..z6..z5..z7..cycle;
+ charbox; endchar;
+
+beginchar("E",incrwidth(3),ht#,dp#); "make 3 from 1 with purl center";
+ pickup symbol_pen;
+ if fonttype <> purltype:
+ currentpicture := symbolpic0;
+ else:
+ z1 = point 0 of symbolpath0;
+ z2 = point 1 of symbolpath0;
+ z3 = point 2 of symbolpath0;
+ fill z1--z2--z3--cycle;
+ fi
+ endchar;
+
+beginchar("A",decrwidth(3),ht#,dp#); "Make 1 from 3";
+ pickup symbol_pen;
+ bot lft z1 = (0.5w-0.5 biggerheight-ho,-d+small_bottomgap-o);
+ top z2 = (0.5w, h-small_topgap+o);
+ bot rt z3 = (0.5w+0.5 biggerheight, -d+small_bottomgap-o);
+ z4 = 0.5[z1,z3];
+ symbolpath0 := z1--z2--z3;
+ symbolpath1 := z2--z4;
+ draw symbolpath0;
+ draw symbolpath1;
+ charbox; endchar;
+beginchar("3",decrwidth(3),ht#,dp#); "Purl make 1 from 3";
+ pickup purl_symbol_pen;
+ draw symbolpath0;
+ draw symbolpath1;
+ purlbox; endchar;
+
+beginchar("R",decrwidth(3),ht#,dp#); "k3tog";
+ pickup symbol_pen;
+ bot lft z1 = (0.5w-0.5 biggerheight-ho,-d+small_bottomgap-o);
+ top rt z2 = (0.5w+0.5 biggerheight, h-small_topgap+o);
+ bot rt z3 = (0.5w+0.5 biggerheight, -d+small_bottomgap-o);
+ z4 = 0.5[z1,z3];
+ draw z1--z2--z3;
+ draw z4--0.5[z4,z2];
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+beginchar("L",decrwidth(3),ht#,dp#); "SSSK";
+ fliphoriz(symbolpic0)(currentpicture);
+ charbox; endchar;
+
+beginchar("r",decrwidth(3),ht#,dp#); "LRC";
+ pickup symbol_pen;
+ bot lft z1 = (0.5w-0.5 biggerheight-ho,-d+small_bottomgap-o);
+ top rt z2 = (0.5w+0.5 biggerheight+ho,h-small_topgap+o);
+ bot rt z3 = (0.5w+0.5 biggerheight+ho,-d+small_bottomgap-o);
+ top lft z4 = (0.5w-0.5 biggerheight-ho,h-small_topgap+o);
+ z5 = alpha[z1,z2]; z5 = beta[z3,z4];
+ x6=x5; y6=y1;
+ draw z1--z2;
+ draw z3--z5;
+ draw z5--z6;
+ symbolpic0 := currentpicture;
+ charbox; endchar;
+beginchar("l",decrwidth(3),ht#,dp#); "RLC";
+ fliphoriz(symbolpic0)(currentpicture);
+ charbox; endchar;
+
+beginchar("a",decrwidth(3),ht#,dp#); "LRC";
+ pickup symbol_pen;
+ bot lft z1 = (0.5w-0.5 biggerheight-ho,-d+small_bottomgap-o);
+ top rt z2 = (0.5w+0.5 biggerheight+ho,h-small_topgap+o);
+ bot rt z3 = (0.5w+0.5 biggerheight+ho,-d+small_bottomgap-o);
+ top lft z4 = (0.5w-0.5 biggerheight-ho,h-small_topgap+o);
+ x5 = 0.5w; y5 = 0.6[y1,y4];
+ top z6 = (0.5w, h-small_topgap+o);
+ bot z7 = (0.5w, -d+small_bottomgap-o);
+ draw z1--z5;
+ draw z3--z5;
+ draw z6--z7;
+ charbox; endchar;
+
+beginchar("?",wd#,ht#,dp#); "Left end of wrapped stitches";
+ pickup symbol_pen;
+ x0r = x1r = x2r = w;
+ y0r-y1r = y1r-y2r;
+ y0m=y0r; y1m=y1r; y2m=y2r;
+ y0l-y0r = y1l-y1r = y2l-y2r;
+
+ if gridfont:
+ h-small_topgap+o = top y0l;
+ bot y2r = small_bottomgap-d;
+ y1l = 2/3[y1r,y0r];
+ x2l+ho = h-y0l+o;
+ x0m = 0.4[x0l,x0r];
+ x2m = 0.5[x2l,x2r];
+ z0l = z2l + whatever*(1,3);
+ wraplines := 3;
+ else:
+ h-small_topgap-top y0r = bot y2r-small_bottomgap+d;
+ if (topgap>standardgap) or (bottomgap>standardgap):
+ wraplines := 2; else: wraplines:=3; fi
+ if wraplines = 2:
+ y0r - y2r = 1.5(h-small_topgap-top y0r);
+ lft x2l+ho = smallgap;
+ else:
+ y0r - y1r = 1.5(h-small_topgap-top y0r);
+ lft x2l+ho = mingap;
+ fi
+ x0m = 0.2[x0l,x0r];
+ x2m = 0.3[x2l,x2r];
+ y0l = 0.6[y0r,h-small_topgap+o];
+ z0l = z2l + whatever*(1,4);
+ fi
+
+ z1l=whatever[z0l,z2l];
+ z1m=whatever[z0m,z2m];
+ pickup pensquare scaled symbolwidth;
+ draw lft z0r--rt (0,y0r);
+ if wraplines=3: draw lft z1r--rt (0,y1r); fi
+ draw lft z2r--rt (0,y2r);
+ symbolpic1 := currentpicture;
+ currentpicture := nullpicture;
+ draw lft z0r---rt z0m;
+ if wraplines=3: draw lft z1r---rt z1m; fi
+ draw lft z2r---rt z2m;
+ pickup symbol_pen;
+ draw z0m{left}..z0l;
+ if wraplines=3: draw z1m{left}..z1l; fi
+ draw z2m{left}..z2l;
+
+ if gridfont: else:
+ draw bot (w/2,h-small_topgap+o) -- top (w/2, -d+small_bottomgap-o);
+ fi
+
+ symbolpic0 := currentpicture;
+ labels(0r,0m,0l,1r,1m,1l,2r,2m,2l);
+ charbox; endchar;
+
+beginchar(23,wd#,ht#,dp#); "Middle of wrapped stitches";
+ pickup symbol_pen;
+ currentpicture := symbolpic1;
+ if gridfont: else:
+ draw bot (w/2,h-small_topgap+o) -- top (w/2, -d+small_bottomgap-o);
+ fi
+ charbox; endchar;
+beginchar(24,wd#,ht#,dp#); "Right end of wrapped stitches";
+ fliphoriz(symbolpic0)(currentpicture);
+ charbox; endchar;
+
+ligtable "?":
+ "?" |=: 24;
+ligtable 24:
+ "?" |=: 24,
+ 24 =:| 23;
+
+beginchar("1",wd#,ht#,dp#); "Left end of single-wrapped stitches";
+ pickup symbol_pen;
+ x1r=w;
+ y1m=y1r;
+
+ if gridfont:
+ if wd>ht+dp:
+ y1l-y1r = (h+d)/3;
+ else:
+ y1l-y1r = (h+d)/4;
+ fi
+ else:
+ y1l-y1r = (h+d)/5;
+ fi
+ x1m = 0.1[x1r,x1l];
+ h-topgap+o-y1l = 1/2(y1r+d-bottomgap);
+ rt x1l+ho = standardgap;
+ wraplines := 1;
+ if y1r<bottomgap-d: message("Your single-wrapped stitch symbol is too tall."); fi
+
+ pickup pensquare scaled symbolwidth;
+ draw lft z1r--rt (0,y1r);
+ symbolpic1 := currentpicture;
+ currentpicture := nullpicture;
+ draw lft z1r---rt z1m;
+ pickup symbol_pen;
+ draw z1m{left}..z1l;
+
+ if gridfont: else:
+ draw bot (w/2,h-topgap+o) -- top (w/2, -d+bottomgap-o);
+ fi
+
+ symbolpic0 := currentpicture;
+ labels(1r,1m,1l);
+ charbox; endchar;
+
+beginchar(17,wd#,ht#,dp#); "Middle of wrapped stitches";
+ pickup symbol_pen;
+ currentpicture := symbolpic1;
+ if gridfont: else:
+ draw bot (w/2,h-small_topgap+o) -- top (w/2, -d+small_bottomgap-o);
+ fi
+ charbox; endchar;
+beginchar(18,wd#,ht#,dp#); "Right end of wrapped stitches";
+ fliphoriz(symbolpic0)(currentpicture);
+ charbox; endchar;
+
+ligtable "1":
+ "1" |=: 18;
+ligtable 18:
+ "1" |=: 18,
+ 18 =:| 17;
+
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knitgg.mf b/Master/texmf-dist/fonts/source/public/knitting/knitgg.mf
new file mode 100644
index 00000000000..2e8ae81800d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knitgg.mf
@@ -0,0 +1,21 @@
+%mode=localfont; % Run mf knit_grid; then run gftopk knit_grid.600gf
+mode_setup;
+
+boolean gridfont; gridfont := true;
+fonttype = gridtype; % Show grid only
+
+input knit_dimens;
+
+if known ps_output:
+ font_identifier := "KnittingSymbols-grid-grid";
+fi
+
+string Vtitle; Vtitle := "Knit font with grid";
+
+input knit_symbols;
+
+input knit_grid_cables;
+
+end
+
+
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knitgn.mf b/Master/texmf-dist/fonts/source/public/knitting/knitgn.mf
new file mode 100644
index 00000000000..cc785ea68bd
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knitgn.mf
@@ -0,0 +1,22 @@
+%mode=localfont; % Run mf knit_grid; then run gftopk knit_grid.600gf
+mode_setup;
+
+boolean gridfont; gridfont := true;
+boolean slantlines; slantlines = false;
+fonttype = foretype; % Show symbols only - no grid
+
+input knit_dimens;
+
+if known ps_output:
+ font_identifier := "KnittingSymbols-grid-foreground";
+fi
+
+string Vtitle; Vtitle := "Knit font with grid";
+
+input knit_symbols;
+
+input knit_grid_cables;
+
+end
+
+
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knitgp.mf b/Master/texmf-dist/fonts/source/public/knitting/knitgp.mf
new file mode 100644
index 00000000000..6f321d5d1ed
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knitgp.mf
@@ -0,0 +1,21 @@
+%mode=localfont; % Run mf knit_grid; then run gftopk knit_grid.600gf
+mode_setup;
+
+boolean gridfont; gridfont := true;
+fonttype = purltype; % Gray purl background
+
+input knit_dimens;
+
+if known ps_output:
+ font_identifier := "KnittingSymbols-grid-purl";
+fi
+
+string Vtitle; Vtitle := "Knit font with grid";
+
+input knit_symbols;
+
+input knit_grid_cables;
+
+end
+
+
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knitnl.mf b/Master/texmf-dist/fonts/source/public/knitting/knitnl.mf
new file mode 100644
index 00000000000..6cdd723b036
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knitnl.mf
@@ -0,0 +1,25 @@
+%mode=localfont;
+mode_setup;
+
+boolean gridfont; gridfont := false;
+fonttype = foretype; % Show symbols
+
+bottomgap# = standardgap#;
+topgap# = ht#-topcableheight#+cablevertgap#;
+
+input knit_dimens;
+
+if known ps_output:
+ font_identifier :="KnittingSymbols-nogrid-lowered";
+fi
+
+string Vtitle; Vtitle := "Knit font, no grid";
+
+input knit_symbols;
+
+pickup symbol_pen;
+
+input knit_nogrid_cables;
+
+
+end
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knitnn.mf b/Master/texmf-dist/fonts/source/public/knitting/knitnn.mf
new file mode 100644
index 00000000000..a58accfce10
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knitnn.mf
@@ -0,0 +1,19 @@
+%mode=localfont;
+mode_setup;
+
+boolean gridfont; gridfont := false;
+fonttype = foretype; % Show symbols
+
+input knit_dimens;
+
+if known ps_output:
+ font_identifier := "KnittingSymbols-nogrid-foreground";
+fi
+
+string Vtitle; Vtitle := "Knit font, no grid";
+
+input knit_symbols;
+
+input knit_nogrid_cables;
+
+end
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knitnp.mf b/Master/texmf-dist/fonts/source/public/knitting/knitnp.mf
new file mode 100644
index 00000000000..023cdd9e93c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knitnp.mf
@@ -0,0 +1,22 @@
+%mode=localfont;
+mode_setup;
+
+boolean gridfont; gridfont := false;
+fonttype = purltype; % Gray purl background
+
+input knit_dimens;
+
+if known ps_output:
+ font_identifier := "KnittingSymbols-nogrid-purl";
+fi
+
+string Vtitle; Vtitle := "Knit font, no grid";
+
+input knit_symbols;
+
+pickup symbol_pen;
+
+input knit_nogrid_cables;
+
+
+end
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knitnr.mf b/Master/texmf-dist/fonts/source/public/knitting/knitnr.mf
new file mode 100644
index 00000000000..5c7d6f2dd8f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knitnr.mf
@@ -0,0 +1,25 @@
+%mode=localfont;
+mode_setup;
+
+boolean gridfont; gridfont := false;
+fonttype = foretype; % Show symbols
+
+bottomgap# = dp#+botcableheight#+cablevertgap#;
+topgap# = standardgap#;
+
+input knit_dimens;
+
+if known ps_output:
+ font_identifier := "KnittingSymbols-nogrid-raised";
+fi
+
+string Vtitle; Vtitle := "Knit font, no grid";
+
+input knit_symbols;
+
+pickup symbol_pen;
+
+input knit_nogrid_cables;
+
+
+end
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knitwg.mf b/Master/texmf-dist/fonts/source/public/knitting/knitwg.mf
new file mode 100644
index 00000000000..5fb5bd7efa0
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knitwg.mf
@@ -0,0 +1,22 @@
+%mode=localfont; % Run mf knit_grid; then run gftopk knit_grid.600gf
+mode_setup;
+
+boolean gridfont; gridfont := true;
+fonttype = gridtype; % Show grid only
+
+wd# = widewd#;
+input knit_dimens;
+
+if known ps_output:
+ font_identifier := "KnittingSymbols-wide-grid";
+fi
+
+string Vtitle; Vtitle := "Knit font with grid";
+
+input knit_symbols;
+
+input knit_grid_cables;
+
+end
+
+
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knitwn.mf b/Master/texmf-dist/fonts/source/public/knitting/knitwn.mf
new file mode 100644
index 00000000000..8470efbde72
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knitwn.mf
@@ -0,0 +1,22 @@
+%mode=localfont; % Run mf knit_grid; then run gftopk knit_grid.600gf
+mode_setup;
+
+boolean gridfont; gridfont := true;
+fonttype = foretype; % Show symbols only - no grid
+
+wd# = widewd#;
+input knit_dimens;
+
+if known ps_output:
+ font_identifier := "KnittingSymbols-wide-foreground";
+fi
+
+string Vtitle; Vtitle := "Knit font with grid";
+
+input knit_symbols;
+
+input knit_grid_cables;
+
+end
+
+
diff --git a/Master/texmf-dist/fonts/source/public/knitting/knitwp.mf b/Master/texmf-dist/fonts/source/public/knitting/knitwp.mf
new file mode 100644
index 00000000000..3b5e821655a
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/knitting/knitwp.mf
@@ -0,0 +1,22 @@
+%mode=localfont; % Run mf knit_grid; then run gftopk knit_grid.600gf
+mode_setup;
+
+boolean gridfont; gridfont := true;
+fonttype = purltype; % Gray purl background
+
+wd# = widewd#;
+input knit_dimens;
+
+if known ps_output:
+ font_identifier := "KnittingSymbols-wide-purl";
+fi
+
+string Vtitle; Vtitle := "Knit font with grid";
+
+input knit_symbols;
+
+input knit_grid_cables;
+
+end
+
+
diff --git a/Master/texmf-dist/fonts/tfm/public/knitting/knitgg.tfm b/Master/texmf-dist/fonts/tfm/public/knitting/knitgg.tfm
new file mode 100644
index 00000000000..f125e18fb63
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/knitting/knitgg.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/knitting/knitgn.tfm b/Master/texmf-dist/fonts/tfm/public/knitting/knitgn.tfm
new file mode 100644
index 00000000000..f125e18fb63
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/knitting/knitgn.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/knitting/knitgp.tfm b/Master/texmf-dist/fonts/tfm/public/knitting/knitgp.tfm
new file mode 100644
index 00000000000..f125e18fb63
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/knitting/knitgp.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/knitting/knitnl.tfm b/Master/texmf-dist/fonts/tfm/public/knitting/knitnl.tfm
new file mode 100644
index 00000000000..6fd0ba1ade5
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/knitting/knitnl.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/knitting/knitnn.tfm b/Master/texmf-dist/fonts/tfm/public/knitting/knitnn.tfm
new file mode 100644
index 00000000000..b9f2defbce2
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/knitting/knitnn.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/knitting/knitnp.tfm b/Master/texmf-dist/fonts/tfm/public/knitting/knitnp.tfm
new file mode 100644
index 00000000000..d720a216236
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/knitting/knitnp.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/knitting/knitnr.tfm b/Master/texmf-dist/fonts/tfm/public/knitting/knitnr.tfm
new file mode 100644
index 00000000000..8b43438d8fc
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/knitting/knitnr.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/knitting/knitwg.tfm b/Master/texmf-dist/fonts/tfm/public/knitting/knitwg.tfm
new file mode 100644
index 00000000000..bb174a4d1da
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/knitting/knitwg.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/knitting/knitwn.tfm b/Master/texmf-dist/fonts/tfm/public/knitting/knitwn.tfm
new file mode 100644
index 00000000000..bb174a4d1da
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/knitting/knitwn.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/knitting/knitwp.tfm b/Master/texmf-dist/fonts/tfm/public/knitting/knitwp.tfm
new file mode 100644
index 00000000000..bb174a4d1da
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/knitting/knitwp.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/knitting/knitgg.pfb b/Master/texmf-dist/fonts/type1/public/knitting/knitgg.pfb
new file mode 100644
index 00000000000..710e783893f
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/knitting/knitgg.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/knitting/knitgn.pfb b/Master/texmf-dist/fonts/type1/public/knitting/knitgn.pfb
new file mode 100644
index 00000000000..a211caa86eb
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/knitting/knitgn.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/knitting/knitgp.pfb b/Master/texmf-dist/fonts/type1/public/knitting/knitgp.pfb
new file mode 100644
index 00000000000..d06186a2f19
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/knitting/knitgp.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/knitting/knitnl.pfb b/Master/texmf-dist/fonts/type1/public/knitting/knitnl.pfb
new file mode 100644
index 00000000000..54eef7cda7e
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/knitting/knitnl.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/knitting/knitnn.pfb b/Master/texmf-dist/fonts/type1/public/knitting/knitnn.pfb
new file mode 100644
index 00000000000..d0ff5aa6e03
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/knitting/knitnn.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/knitting/knitnp.pfb b/Master/texmf-dist/fonts/type1/public/knitting/knitnp.pfb
new file mode 100644
index 00000000000..b98e80db6fc
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/knitting/knitnp.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/knitting/knitnr.pfb b/Master/texmf-dist/fonts/type1/public/knitting/knitnr.pfb
new file mode 100644
index 00000000000..6c230159d21
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/knitting/knitnr.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/knitting/knitwg.pfb b/Master/texmf-dist/fonts/type1/public/knitting/knitwg.pfb
new file mode 100644
index 00000000000..4e969f807f5
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/knitting/knitwg.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/knitting/knitwn.pfb b/Master/texmf-dist/fonts/type1/public/knitting/knitwn.pfb
new file mode 100644
index 00000000000..2a6e0e372ae
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/knitting/knitwn.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/knitting/knitwp.pfb b/Master/texmf-dist/fonts/type1/public/knitting/knitwp.pfb
new file mode 100644
index 00000000000..0154903a8c5
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/knitting/knitwp.pfb
Binary files differ