summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-09-04 15:45:11 +0000
committerKarl Berry <karl@freefriends.org>2011-09-04 15:45:11 +0000
commit42e5f8462775ba16e02210c476ba8b144a08167b (patch)
treeab40d5f3add9971d605f68e2ae564d4a1c8c0855 /Master/texmf-dist/fonts
parent49e5184aecbe98809d674d9b2db29fc54cedfbc1 (diff)
fdsymbol (30aug11)
git-svn-id: svn://tug.org/texlive/trunk@23797 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts')
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-a.enc53
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-b.enc57
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-c.enc65
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-d.enc61
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-e.enc28
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-f.enc23
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/FdSymbolC.mf4
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/FdSymbolD.mf4
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/fdarrows.mf678
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/fdbase.mf58
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/fddelims.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/fdgeometric.mf129
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/fdoperators.mf65
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/fdrelations.mf57
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/fdturnstile.mf102
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Bold.tfmbin1212 -> 1228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Book.tfmbin1212 -> 1228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Medium.tfmbin1212 -> 1228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Regular.tfmbin1212 -> 1228 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Bold.tfmbin1132 -> 1140 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Book.tfmbin1132 -> 1140 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Medium.tfmbin1132 -> 1140 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Regular.tfmbin1132 -> 1140 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Bold.tfmbin1228 -> 1288 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Book.tfmbin1228 -> 1288 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Medium.tfmbin1228 -> 1288 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Regular.tfmbin1228 -> 1288 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Bold.tfmbin1216 -> 1284 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Book.tfmbin1216 -> 1284 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Medium.tfmbin1216 -> 1284 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Regular.tfmbin1216 -> 1284 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Bold.tfmbin852 -> 864 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Book.tfmbin852 -> 864 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Medium.tfmbin852 -> 864 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Regular.tfmbin852 -> 864 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Bold.tfmbin1332 -> 1340 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Book.tfmbin1332 -> 1340 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Medium.tfmbin1332 -> 1340 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Regular.tfmbin1332 -> 1340 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Bold.pfbbin158478 -> 163431 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Book.pfbbin152547 -> 153494 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Medium.pfbbin156203 -> 161066 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Regular.pfbbin155638 -> 159132 bytes
43 files changed, 807 insertions, 579 deletions
diff --git a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-a.enc b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-a.enc
index eea736c9a8e..f05dad2923b 100644
--- a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-a.enc
+++ b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-a.enc
@@ -3,44 +3,45 @@
%
/FdSymbolA [
%00
- /cdot /hdotdot /vdotdot /udotdot /ddotdot /hellipsis /vellipsis /uellipsis
- /dellipsis /righttherefore /therefore /lefttherefore /because /proportion /minus /divisionslash
+ /dotmath /sym000 /uni2236 /sym001 /sym002 /uni22EF /uni22EE /uni22F0
+ /uni22F1 /sym003 /therefore /sym004 /uni2235 /uni2237 /minus /uni2215
%10
- /setminus /plus /multiply /plusminus /minusplus /dotminus /minusdot /fdotminusdot
- /rdotminusdot /geomproportion /divide /logicalnot /revlogicalnot /invlogicalnot /revinvlogicalnot /lsemiprod
+ /uni2216 /plus /multiply /uni2238 /uni2A2A /divide /uni2A2B /uni2A2C
+ /uni223A /plusminus /uni2213 /uni2214 /uni2A25 /uni2A30 /uni2A31 /uni22C7
%20
- /rsemiprod /dtimes /rtimes /utimes /ltimes /bowtie /hourglass /rightY
- /upY /leftY /downY /logicaland /logicalor /logicalanddot /logicalordot /dbllogicaland
+ /logicalnot /revlogicalnot /uni2A3C /uni2A3D %/uni2319
+ /uni22CB /uni22CC /uni2A32 /uni22CA
+ /sym005 /uni22C9 /uni22C8 /uni29D6 /sym006 /sym007 /sym008 /sym009
%30
- /dbllogicalor /curlyand /curlyor /curlyanddot /curlyordot /dblcurlyand /dblcurlyor /union
- /intersection /dblunion /dblintersection /uniondot /intersectiondot /unionplus /intersectionplus /squareunion
+ /logicaland /logicalor /uni27D1 /uni27C7 /uni2A55 /uni2A56 /uni22CF /uni22CE
+ /uni22BC /uni22BB /uni2A5E /uni2A63 /union /intersection /uni22D3 /uni22D2
%40
- /squareintersection /dblsquareunion /dblsquareintersection /squareuniondot /squareintersectiondot /squareunionplus /squareintersectionplus /dcornerdot
- /ucornerdot /whiterightpointingsmalltriangle /whiteuppointingsmalltriangle /whiteleftpointingsmalltriangle /whitedownpointingsmalltriangle /blackrightpointingsmalltriangle /blackuppointingsmalltriangle /blackleftpointingsmalltriangle
+ /uni228D /uni2A40 /uni228E /sym00A /uni2294 /uni2293 /uni2A4F /uni2A4E
+ /sym00B /sym00C /sym00D /sym00E /uni27D3 /uni27D4 /uni25B9 /uni25B5
%50
- /blackdownpointingsmalltriangle /whiterightpointingtriangle /whiteuppointingtriangle /whiteleftpointingtriangle /whitedownpointingtriangle /blackrightpointingtriangle /blackuppointingtriangle /blackleftpointingtriangle
- /blackdownpointingtriangle /uppointinglargetriangle /downpointinglargetriangle /openbullet /bullet /circle /blackcircle /circleminus
+ /uni25C3 /uni25BF /uni25B8 /uni25B4 /uni25C2 /uni25BE /uni25B7 /uni25B3
+ /uni25C1 /uni25BD /uni25B6 /uni25B2 /uni25C0 /uni25BC /sym00F /sym010
%60
- /circlevert /circleslash /circlebackslash /circleplus /circlemultiply /circleot /dblcircle /circleast
- /circledash /circleequal /emptyset /revemptyset /largecircle /blacklargecircle /whitesmallsquare /blacksmallsquare
+ /openbullet /bullet /circle /uni25CF /uni2296 /uni29B6 /uni2298 /uni29B8
+ /circleplus /circlemultiply /uni2299 /uni229A /uni229B /uni229D /uni229C /emptyset
%70
- /whitesquare /blacksquare /squareminus /squarevert /squareslash /squarebackslash /squareplus /squaremultiply
- /squaredot /dblsquare /largesquare /blacklargesquare /smalldiamond /blacksmalldiamond /whitediamond /blackdiamond
+ /uni29B0 /uni25EF /uni2B24 /uni25AB /uni25AA /uni25A1 /uni25A0 /uni229F
+ /uni25EB /uni29C4 /uni29C5 /uni229E /uni22A0 /uni22A1 /uni29C8 /uni2B1C
%80
- /diamondminus /diamondvert /diamondslash /diamondbackslash /diamondplus /diamondmultiply /diamonddot /dbldiamond
- /smalllozenge /blacksmalllozenge /lozenge /blacklozenge /lozengeminus /whitesmallstar /blacksmallstar /whitemedstar
+ /uni2B1B /uni22C4 /uni2B29 /uni25C7 /uni25C6 /sym011 /sym012 /sym013
+ /sym014 /sym015 /sym016 /uni27D0 /sym017 /uni2B2B /uni2B2A /lozenge
%90
- /blackmedstar /whitestar /blackstar /asteriskmath /infinity /proportional /revproportional /crossing
- /between /separated /top /bottom /wreath /angle /revangle /measuredangle
+ /uni29EB /uni27E0 /uni2B52 /uni22C6 /uni2B50 /uni2B51 /uni2606 /uni2605
+ /asteriskmath /infinity /proportional /sym018 /sym019 /uni226C /uni22BA /uni2240
%A0
- /revmeasuredangle /rightsphericalangle /upsphericalangle /leftsphericalangle /downsphericalangle /rightangle /measuredrightangle /squaremeasuredrightangle
- /rightangledot /prime /primereversed /smallproduct /amalgamation /smallintegral /checkmark /lightning
+ /angle /uni29A3 /uni2221 /uni299B /uni2222 /uni29A1 /uni29A0 /sym01A
+ /uni221F /uni22BE /uni299C /uni299D /minute /uni2035 /product.small /uni2A3F
%B0
- /diamondsuitwhite /diamond /heartsuitwhite /heartsuitblack /spade /club /maltese /starofdavid
- /sector /universal /existential /existsnot /turnedF /reversedG /complement /musicflatsign
+ /integral.small /uni2713 /uni21AF /uni2662 /diamond /uni2661 /heart /spade
+ /club /uni2720 /uni2721 /uni2314 /universal /existential /uni2204 /uni2132
%C0
- /musicnaturalsign /musicsharpsign /aleph /beth /gimel /daleth /weierstrass /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /uni2141 /uni2201 /uni266D /uni266E /uni266F /aleph /uni2136 /uni2137
+ /uni2138 /weierstrass /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%D0
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
diff --git a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-b.enc b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-b.enc
index 0fdbe5931c8..fa66cfbb039 100644
--- a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-b.enc
+++ b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-b.enc
@@ -3,47 +3,48 @@
%
/FdSymbolB [
%00
- /equal /equivalence /similar /reversedtilde /approxequal /approxident /similarequal /revsimilarequal
- /equalsimilar /congruent /allequal /equalapprox /bumpequal /bumpoverequal /bumpyequal /dotequal
+ /equal /uni2261 /similar /uni223D /approxequal /uni224B /uni2243 /uni22CD
+ /uni2242 /congruent /uni224C /uni224A /uni224F /uni2AAE /uni224E /uni2250
%10
- /equaldot /dotequaldot /fdotequaldot /rdotequaldot /upcurve /downcurve /asympequal /closure
- /smileequal /arcequal /equalcircle /ringequal /corresponds /logicalorequal /starequal /triangleequal
+ /uni2A66 /uni2251 /uni2252 /uni2253 /uni2254 /uni2255 /uni2323 /uni2322
+ /uni224D /uni2050 /sym020 /uni2258 /uni2256 /uni2257 /uni2259 /uni225A
%20
- /element /suchthat /less /greater /lessequal /greaterequal /lessslantedequal /greaterslantedequal
- /lessoverequal /greateroverequal /lessorequivalent /greaterorequivalent /lessapprox /greaterapprox /lessorgreater /greaterorless
+ /uni225B /uni225C /element /uni220B /less /greater /lessequal /greaterequal
+ /uni2A7D /uni2A7E /uni2266 /uni2267 /uni2272 /uni2273 /uni2A85 /uni2A86
%30
- /lessequalorgreater /greaterequalorless /lessoverequalovergreater /greateroverequaloverless /lessequalorgreater.alt /greaterequalorless.alt /muchless /muchgreater
- /verymuchless /verymuchgreater /closedless /closedgreater /closedlessequal /closedgreaterequal /roundclosedless /roundclosedgreater
+ /uni2276 /uni2277 /uni22DA /uni22DB /uni2A8B /uni2A8C /uni22DA.alt %/uniE32B
+ /uni22DB.alt %/uniE32C
+ /uni226A /uni226B /uni22D8 /uni22D9 /uni22B2 /uni22B3 /uni22B4 /uni22B5
%40
- /roundclosedlessequal /roundclosedgreaterequal /propersquaresubset /propersquaresuperset /reflexsquaresubset /reflexsquaresuperset /squaresubsetequal /squaresupersetequal
- /dblsquaresubset /dblsquaresuperset /propersubset /propersuperset /reflexsubset /reflexsuperset /subsetequal /supersetequal
+ /uni2AA6 /uni2AA7 /uni2AA8 /uni2AA9 /uni228F /uni2290 /uni2291 /uni2292
+ /sym021 /sym022 /sym023 /sym024 /propersubset /propersuperset /reflexsubset /reflexsuperset
%50
- /dblsubset /dblsuperset /precedes /succeeds /precedesequal /succeedsequal /precedescurlyequal /succeedscurlyequal
- /precedesoverequal /succeedsoverequal /precedessimilar /succeedssimilar /precedesapprox /succeedsapprox /lessdot /greaterdot
+ /uni2AC5 /uni2AC6 /uni22D0 /uni22D1 /uni227A /uni227B /uni2AAF /uni2AB0
+ /uni227C /uni227D /uni2AB3 /uni2AB4 /uni227E /uni227F /uni2AB7 /uni2AB8
%60
- /lessdotequal /greaterdotequal /lessdotslantedequal /greaterdotslantedequal /slantedequalless /slantedequalgreater /curlyequalprecedes /curlyequalsucceeds
- /notequal /uni2262 /uni2241 /uni223D0338 /uni2249 /uni224B0338 /uni2244 /uni22CD0338
+ /uni22D6 /uni22D7 /sym025 /sym026 /uni2A7F /uni2A80 /uni2A95 /uni2A96
+ /uni22DE /uni22DF /notequal /uni2262 /uni2241 /uni223D0338 /uni2249 /uni224B0338
%70
- /uni22420338 /uni2247 /uni224C0338 /uni224A0338 /uni224F0338 /uni2AAE0338 /uni224E0338 /uni22500338
- /uni2A660338 /uni22510338 /uni22520338 /uni22530338 /uni23230338 /uni23220338 /uni226D /uni20500338
+ /uni2244 /22CD0338 /uni22420338 /uni2247 /uni224C0338 /uni224A0338 /uni224F0338 /uni2AAE0338
+ /uni224E0338 /uni22500338 /uni2A660338 /uni22510338 /uni22520338 /uni22530338 /uni23230338 /uni23220338
%80
- /smileequal_uni0338 /uni22580338 /uni22560338 /uni22570338 /uni22590338 /uni225A0338 /uni225B0338 /uni225C0338
- /notelement /uni220C /uni226E /uni226F /uni2270 /uni2271 /uni2A7D0338 /uni2A7E0038
+ /uni226D /uni20500338 /sym020_uni0338 /uni22580338 /uni22560338 /uni22570338 /uni22590338 /uni225A0338
+ /uni225B0338 /uni225C0338 /notelement /uni220C /uni226E /uni226F /uni2270 /uni2271
%90
- /uni22660338 /uni22670338 /uni2274 /uni2275 /uni2A850338 /uni2A860338 /uni2278 /uni2279
- /uni22DA0338 /uni22DB0338 /uni2A8B0338 /uni2A8C0338 /uni22DA0338.alt /uni22DB0038.alt /uni226A0338 /uni226B0338
+ /uni2A7D0338 /uni2A7E0338 /uni22660338 /uni22670338 /uni2274 /uni2275 /uni2A850338 /uni2A860338
+ /uni2278 /uni2279 /uni22DA0338 /uni22DB0338 /uni2A8B0338 /uni2A8C0338 /uni22DA0338.alt /uni22DB0338.alt
%A0
- /uni22D80338 /uni22D90338 /uni22EA /uni22EB /uni22EC /uni22ED /uni2AA60338 /uni2AA70338
- /uni2AA80338 /uni2AA90338 /uni228F0338 /uni22900338 /uni22E2 /uni22E3 /sqsubseteqq_uni0338 /sqsupseteqq_uni0338
+ /uni226A0338 /uni226B0338 /uni22D80338 /uni22D90338 /uni22EA /uni22EB /uni22EC /uni22ED
+ /uni2AA60338 /uni2AA70338 /uni2AA80338 /uni2AA90338 /uni228F0338 /uni22900338 /uni22E2 /uni22E3
%B0
- /Sqsubset_uni0338 /Sqsupset_uni0338 /notsubset /uni2285 /uni2288 /uni2289 /uni2AC50338 /uni2AC60338
- /uni22D00338 /uni22D10338 /uni2280 /uni2281 /uni2AAF0338 /uni2AB00338 /uni22E0 /uni22E1
+ /sym021_uni0338 /sym022_uni0338 /sym023_uni0338 /sym024_uni0338 /notsubset /uni2285 /uni2288 /uni2289
+ /uni2AC50338 /uni2AC60338 /uni22D00338 /uni22D10338 /uni2280 /uni2281 /uni2AAF0338 /uni2AB00338
%C0
- /uni2AB30338 /uni2AB40338 /uni227E0338 /uni227F0338 /uni2AB70338 /uni2AB80338 /uni22D60338 /uni22D70338
- /leqdot_uni0338 /geqdot_uni0338 /uni2A7F0338 /uni2A800338 /uni2A950338 /uni2A960338 /uni22DE0338 /uni22DF0338
+ /uni22E0 /uni22E1 /uni2AB30338 /uni2AB40338 /uni227E0338 /uni227F0338 /uni2AB70338 /uni2AB80338
+ /uni22D60338 /uni22D70338 /sym025_uni0338 /sym026_uni0338 /uni2A7F0338 /uni2A800338 /uni2A950338 /uni2A960338
%D0
- /uni2246 /backsimneqq /uni2A87 /uni2A88 /uni2268 /uni2269 /uni22E6 /uni22E7
- /uni2A89 /uni2A8A /lessneqqgtr /gtrneqqless /uni22E4 /uni22E5 /sqsubsetneqq /sqsupsetneqq
+ /uni22DE0338 /uni22DF0338 /uni2246 /sym027 /uni2A87 /uni2A88 /uni2268 /uni2269
+ /uni22E6 /uni22E7 /uni2A89 /uni2A8A /uni22E4 /uni22E5 /sym028 /sym029
%E0
/uni228A /uni228B /uni2ACB /uni2ACC /uni2AB1 /uni2AB2 /uni2AB5 /uni2AB6
/uni22E8 /uni22E9 /uni2AB9 /uni2ABA /.notdef /.notdef /.notdef /.notdef
diff --git a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-c.enc b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-c.enc
index af4836eebc0..c17517fdc00 100644
--- a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-c.enc
+++ b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-c.enc
@@ -3,51 +3,56 @@
%
/FdSymbolC [
%00
- /arrowright /arrowup /arrowleft /arrowdown /arrowupright /arrowupleft /arrowdownleft /arrowdownright
- /arrowdblright /arrowdblup /arrowdblleft /arrowdbldown /uni21D7 /uni21D6 /uni21D9 /uni21D8
+ /arrowright /arrowup /arrowleft /arrowdown /uni2197 /uni2196 /uni2199 /uni2198
+ /arrowdblright /arrowdblup /arrowdblleft /arrowdbldown /uni21D7 /uni21D6 /un21D9 /uni21D8
%10
- /arrowboth /arrowupdn /uni2921 /uni2922 /arrowdblboth /uni21D5 /Neswarrow /Nwsearrow
- /uni21A0 /uni219F /uni219E /uni21A1 /twoheadnearrow /twoheadnwarrow /twoheadswarrow /twoheadsearrow
+ /arrowboth /arrowupdn /uni2921 /uni2922 /arrowdblboth /uni21D5 /sym030 /sym031
+ /uni21A0 /uni219F /uni219E /uni21A1 /sym033 /sym032 /sym035 /sym034
%20
- /uni21A3 /uparrowtail /uni21A2 /downarrowtail /nearrowtail /nwarrowtail /swarrowtail /searrowtail
- /uni21A6 /uni21A5 /uni21A4 /uni21A7 /nemapsto /nwmapsto /swmapsto /semapsto
+ /uni21A3 /sym036 /uni21A2 /sym037 /sym039 /sym038 /sym03B /sym03A
+ /uni21A6 /uni21A5 /uni21A4 /uni21A7 /uni2907 /sym03C /uni2906 /sym03D
%30
- /uni21AA /lhookuparrow /lhookleftarrow /lhookdownarrow /lhooknearrow /uni2923 /lhookswarrow /uni2925
- /rhookrightarrow /rhookuparrow /uni21A9 /rhookdownarrow /uni2924 /rhooknwarrow /uni2926 /rhooksearrow
+ /uni21AA /sym03E /uni21A9.alt /sym03F.alt /uni2924.alt /uni2923 /uni2926.alt /uni2925
+ /uni21AA.alt /sym03E.alt /uni21A9 /sym03F /uni2924 /uni2923.alt /uni2926 /uni2925.alt
%40
- /harpoonrightbarbup /uni21BF /uni21BD /uni21C2 /neharpoonup /nwharpoonup /swharpoonup /seharpoonup
- /uni21C1 /uni21BE /harpoonleftbarbup /uni21C3 /neharpoondown /nwharpoondown /swharpoondown /seharpoondown
+ /uni21C0 /uni21BF /uni21BD /uni21C2 /sym041 /sym040 /sym043 /sym042
+ /uni21C1 /uni21BE /uni21BC /uni21C3 /sym045 /sym044 /sym047 /sym046
%50
- /uni294B /uni294D /neswharpoonnwse /senwharpoonnesw /uni294A /uni294C /neswharpoonsenw /nwseharpoonswne
- /uni21CC /uni296E /neswharpoons /senwharpoons /uni21CB /uni296F /swneharpoons /nwseharpoons
+ /uni294B /uni294D /sym049 /sym048 /uni294A /uni294C /sym04B /sym04A
+ /uni21CC /uni296E /sym04D /sym04C /uni21CB /uni296F /sym04F /sym04E
%60
- /arrowdashright /arrowdashup /arrowdashleft /arrowdashdown /dashednearrow /dashednwarrow /dashedswarrow /dashedsearrow
- /uni22B8 /uni2AEF /uni27DC /uni2AF0 /rightfilledspoon /upfilledspoon /leftfilledspoon /downfilledspoon
+ /uni21E2 /uni21E1 /uni21E0 /uni21E3 /sym051 /sym050 /sym053 /sym052
+ /uni22B8 /uni2AEF /uni27DC /uni2AF0 /sym054 /sym056 /sym055 /sym057
%70
- /rightpitchfork /uni22D4 /leftpitchfork /downpitchfork /uni21C9 /uni21C8 /uni21C7 /uni21CA
- /nenearrows /nwnwarrows /swswarrows /sesearrows /arrowrightoverleft /updownarrows /neswarrows /nwsearrows
+ /uni29DF /sym058 /uni22B7 /uni22B6 /sym05A /uni22D4 /sym05B /sym059
+ /uni21C9 /uni21C8 /uni21C7 /uni21CA /sym05D /sym05C /sym05F /sym05E
%80
- /uni21C6 /uni21F5 /swnearrows /senwarrows /uni219D /uplsquigarrow /leftlsquigarrow /downlsquigarrow
- /rightrsquigarrow /uprsquigarrow /uni219C /downrsquigarrow /uni21AD /squigarrowupdown /squigarrowrightleft /squigarrowdownup
+ /uni21C4 /uni21C5 /sym061 /sym060 /uni21C6 /uni21F5 /sym063 /sym062
+ /uni219D %/uni21DD /uni2933
+ /sym064.alt /uni219C.alt %/uni21DC.alt /uni2B3F.alt
+ /sym065 /uni219D.alt %/uni21DD.alt /uni2933.alt
+ /sym064 /uni219C %/uni21DC /uni2B3F
+ /sym065.alt
%90
- /uni21B7 /lcurvearrowup /lcurvearrowleft /uni2938 /lcurvearrowne /lcurvearrownw /uni293E /lcurvearrowse
- /uni293B /rcurvearrowup /uni21B6 /uni2939 /rcurvearrowne /rcurvearrownw /rcurvearrowsw /uni293F
+ /uni21AD /sym066.alt /uni21AD.alt /sym066 /sym069 /sym068 /sym067 /uni2938
+ /sym06C /sym06B /uni2936 /uni2935 /uni293B /sym06A /uni293A /uni2939
%A0
- /curvearrowleftright /curvearrowupdown /curvearrowrightleft /curvearrowdownup /curvearrownesw /curvearrownwse /curvearrowswne /curvearrowsenw
- /uni27DD /uni27DE /acwcirclearrowup /uni21BA /uni27F2 /acwcirclearrowright /uni27F3 /uni21BB
+ /uni2934 /sym06D /sym06E /uni2937 /sym06F /sym070 /sym071 /sym072
+ /sym074 /sym073 /sym076 /sym075 /sym077 /sym078 /sym079 /uni21BA
%B0
- /cwcirclearrowup /cwcirclearrowleft /uni21DB /uni290A /uni21DA /uni290B /uni21B0 /uni21B1
- /uni21B2 /uni21B3 /uni21AC /uni21AB /.notdef /.notdef /.notdef /.notdef
+ /uni27F2 /sym07C /uni27F3 /uni21BB /sym07A /sym07B /uni21DB /uni290A
+ /uni21DA /uni290B /uni27F6 /uni27F5 /uni27F9 /uni27F8 /uni27F7 /uni27FA
%C0
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /uni27FC /uni27FB /uni27FE /uni27FD /uni27FF /uni2B33 /uni27DD /uni27DE
+ /uni21B0 /uni21B1 /uni21B2 /uni21B3 /uni21AC /uni21AB /.notdef /.notdef
%D0
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%E0
- /uni22A2 /uni27C2 /uni22A3 /downvdash /uni22A8 /uni2AEB /uni2AE4 /uni2AEA
- /uni22A9 /uni234A /uni2AE3 /uni2351 /uni22AB /upVDash /uni2AE5 /downVDash
+ /uni22A2 /uni22A5 %/uni27C2
+ /uni22A3 /uni22A4 /uni22A6 /uni2AE0 /uni2ADE /uni2ADF
+ /uni22A8 /uni2AEB /uni2AE4 /uni2AEA /uni22A7 /sym07E /sym07D /sym07F
%F0
- /uni22AA /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /uni22A9 /uni234A /uni2AE3 /uni2351 /uni22A9.alt /uni2AE8 /uni2AE3.alt /uni2AE7 %/uni3012
+ /uni22AB /sym080 /uni2AE5 /sym081 /uni22AA /sym082 /uni2AE2 /sym083
] def
diff --git a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-d.enc b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-d.enc
index bddef6e933e..e305253f881 100644
--- a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-d.enc
+++ b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-d.enc
@@ -4,50 +4,55 @@
/FdSymbolD [
%00
/uni219B /uni21910338 /uni219A /uni21930338 /uni21970338 /uni21960338 /uni21990338 /uni21980338
- /arrowrightdblstroke /uni21D10338 /uni21CD /uni21D30338 /uni21D70338 /uni21D60338 /uni21D90338 /uni21D80338
+ /uni21CF /uni21D10338 /uni21CD /uni21D30338 /uni21D70338 /uni21D60338 /uni21D90338 /uni21D80338
%10
- /uni21AE /uni21950338 /uni29210338 /uni29220338 /uni21CE /uni21D50338 /Neswarrow_uni0338 /Nwsearrow_uni0338
- /uni21A00338 /uni219F0338 /uni219E0338 /uni21A10338 /twoheadnearrow_uni0338 /twoheadnwarrow_uni0338 /twoheadswarrow_uni0338 /twoheadsearrow_uni0338
+ /uni21AE /uni21950338 /uni29210338 /uni29220338 /uni21CE /uni21D50338 /sym030_uni0338 /sym031_uni0338
+ /uni21A00338 /uni219F0338 /uni219E0338 /uni21A10338 /sym033_uni0338 /sym032_uni0338 /sym035_uni0338 /sym034_uni0338
%20
- /uni21A30338 /uparrowtail_uni0338 /uni21A20338 /downarrowtail_uni0338 /nearrowtail_uni0338 /nwarrowtail_uni0338 /swarrowtail_uni0338 /searrowtail_uni0338
- /uni21A60338 /uni21A50338 /uni21A40338 /uni21A70338 /nemapsto_uni0338 /nwmapsto_uni0338 /swmapsto_uni0338 /semapsto_uni0338
+ /uni21A30338 /sym036_uni0338 /uni21A20338 /sym037_uni0338 /sym039_uni0338 /sym038_uni0338 /sym03B_uni0338 /sym03A_uni0338
+ /uni21A60338 /uni21A50338 /uni21A40338 /uni21A70338 /uni29070338 /sym03C_uni0338 /uni29060338 /sym03D_uni0338
%30
- /uni21AA0338 /lhookuparrow_uni0338 /lhookleftarrow_uni0338 /lhookdownarrow_uni0338 /lhooknearrow_uni0338 /uni29230338 /lhookswarrow_uni0338 /uni29250338
- /rhookrightarrow_uni0338 /rhookuparrow_uni0338 /uni21A90338 /rhookdownarrow_uni0338 /uni29240338 /rhooknwarrow_uni0338 /uni29260338 /rhooksearrow_uni0338
+ /uni21AA0338 /sym03E_uni0338 /uni21A90338.alt /sym03F_uni0338.alt /uni29240338.alt /uni29230338 /uni29260338.alt /uni29250338
+ /uni21AA0338.alt /sym03E_uni0338.alt /uni21A90338 /sym03F_uni0338 /uni29240338 /uni29230338.alt /uni29260338 /uni29250338.alt
%40
- /uni21C00338 /uni21BF0338 /uni21BD0338 /uni21C20338 /neharpoonup_uni0338 /nwharpoonup_uni0338 /swharpoonup_uni0338 /seharpoonup_uni0338
- /uni21C10338 /uni21BE0338 /uni21BC0338 /uni21C30338 /neharpoondown_uni0338 /nwharpoondown_uni0338 /swharpoondown_uni0338 /seharpoondown_uni0338
+ /uni21C00338 /uni21BF0338 /uni21BD0338 /uni21C20338 /sym041_uni0338 /sym040_uni0338 /sym043_uni0338 /sym042_uni0338
+ /uni21C10338 /uni21BE0338 /uni21BC0338 /uni21C30338 /sym045_uni0338 /sym044_uni0338 /sym047_uni0338 /sym046_uni0338
%50
- /uni294B0338 /uni294D0338 /neswharpoonnwse_uni0338 /senwharpoonnesw_uni0338 /uni294A0338 /uni294C0338 /neswharpoonsenw_uni0338 /nwseharpoonswne_uni0338
- /uni21CC0338 /uni296E0338 /neswharpoons_uni0338 /senwharpoons_uni0338 /uni21CB0338 /uni296F0338 /swneharpoons_uni0338 /nwseharpoons_uni0338
+ /uni294B0338 /uni294D0338 /sym049_uni0338 /sym048_uni0338 /uni294A0338 /uni294C0338 /sym04B_uni0338 /sym04A_uni0338
+ /uni21CC0338 /uni296E0338 /sym04D_uni0338 /sym04C_uni0338 /uni21CB0338 /uni296F0338 /sym04F_uni0338 /sym04E_uni0338
%60
- /uni21E20338 /uni21E10338 /uni21E00338 /uni21E30338 /dashednearrow_uni0338 /dashednwarrow_uni0338 /dashedswarrow_uni0338 /dashedsearrow_uni0338
- /uni22B80338 /uni2AEF0338 /uni27DC0338 /uni2AF00338 /rightfilledspoon_uni0338 /upfilledspoon_uni0338 /leftfilledspoon_uni0338 /downfilledspoon_uni0338
+ /uni21E20338 /uni21E10338 /uni21E00338 /uni21E30338 /sym051_uni0338 /sym050_uni0338 /sym053_uni0338 /sym052_uni0338
+ /uni22B80338 /uni2AEF0338 /uni27DC0338 /uni2AF00338 /sym054_uni0338 /sym056_uni0338 /sym055_uni0338 /sym057_uni0338
%70
- /rightpitchfork_uni0338 /uni22D40338 /leftpitchfork_uni0338 /downpitchfork_uni0338 /uni21C90338 /uni21C80338 /uni21C70338 /uni21CA0338
- /nenearrows_uni0338 /nwnwarrows_uni0338 /swswarrows_uni0338 /sesearrows_uni0338 /uni21C40338 /updownarrows_uni0338 /neswarrows_uni0338 /nwsearrows_uni0338
+ /uni29DF0338 /sym058_uni0338 /uni22B70338 /uni22B60338 /sym05A_uni0338 /uni22D40338 /sym05B_uni0338 /sym059_uni0338
+ /uni21C90338 /uni21C80338 /uni21C70338 /uni21CA0338 /sym05D_uni0338 /sym05C_uni0338 /sym05F_uni0338 /sym05E_uni0338
%80
- /uni21C60338 /uni21F50338 /swnearrows_uni0338 /senwarrows_uni0338 /uni219D0338 /uplsquigarrow_uni0338 /leftlsquigarrow_uni0338 /downlsquigarrow_uni0338
- /rightrsquigarrow_uni0338 /uprsquigarrow_uni0338 /uni219C0338 /downrsquigarrow_uni0338 /squigarrowleftright_uni0338 /squigarrowupdown_uni0338 /squigarrowrightleft_uni0338 /squigarrowdownup_uni0338
+ /uni21C40338 /uni21C50338 /sym061_uni0338 /sym060_uni0338 /uni21C60338 /uni21F50338 /sym063_uni0338 /sym062_uni0338
+ /uni219D0338 %/uni21DD0338 /uni29330338
+ /sym064_uni0338.alt /uni219C0338.alt %/uni21DC0338.alt /uni2B3F0338.alt
+ /sym065_uni0338 /uni219D0338.alt %/uni21DD0338.alt /uni29330338.alt
+ /sym064_uni0338 /uni219C0338 %/uni21DC0338 /uni2B3F0338
+ /sym065_uni0338.alt
%90
- /uni21B70338 /lcurvearrowup_uni0338 /lcurvearrowleft_uni0338 /uni29380338 /lcurvearrowne_uni0338 /lcurvearrownw_uni0338 /uni293E0338 /lcurvearrowse_uni0338
- /uni293B0338 /rcurvearrowup_uni0338 /uni21B60338 /uni29390338 /rcurvearrowne_uni0338 /rcurvearrownw_uni0338 /rcurvearrowsw_uni0338 /uni293F0338
+ /uni21AD0338 /sym066_uni0338.alt /uni21AD0338.alt /sym066_uni0338 /sym069_uni0338 /sym068_uni0338 /sym067_uni0338 /uni29380338
+ /sym06C_uni0338 /sym06B_uni0338 /uni29360338 /uni29350338 /uni293B0338 /sym06A_uni0338 /uni293A0338 /uni29390338
%A0
- /curvearrowleftright_uni0338 /curvearrowupdown_uni0338 /curvearrowrightleft_uni0338 /curvearrowdownup_uni0338 /curvearrownesw_uni0338 /curvearrownwse_uni0338 /curvearrowswne_uni0338 /curvearrowsenw_uni0338
- /uni27DD0338 /uni27DE0338 /acwcirclearrowup_uni0338 /uni21BA0338 /uni27F20338 /acwcirclearrowright_uni0338 /uni27F30338 /uni21BB0338
+ /uni29340338 /sym06D_uni0338 /sym06E_uni0338 /uni29370338 /sym06F_uni0338 /sym070_uni0338 /sym071_uni0338 /sym072_uni0338
+ /sym074_uni0338 /sym073_uni0338 /sym076_uni0338 /sym075_uni0338 /sym077_uni0338 /sum078_uni0338 /sym079_uni0338 /uni21BA0338
%B0
- /cwcirclearrowup_uni0338 /cwcirclearrowleft_uni0338 /uni21DB0338 /uni290A0338 /uni21DA0338 /uni290B0338 /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /uni27F20338 /sym07C_uni0338 /uni27F30338 /uni21BB0338 /sym07A_uni0338 /sym07B_uni0338 /uni21DB0338 /uni290A0338
+ /uni21DA0338 /uni290B0338 /uni27F60338 /uni27F50338 /uni27F90338 /uni27F80338 /uni27F70338 /uni27FA0338
%C0
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /uni27FC0338 /uni27FB0338 /uni27FE0338 /uni27FD0338 /uni27FF0338 /uni2B330338 /uni27DD0338 /uni27DE0338
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%D0
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%E0
- /uni22AC /uni27C20338 /uni22A30338 /downvdash_uni0338 /uni22AD /uni2AEB0338 /uni2AE40338 /uni2AEA0338
- /uni22AE /uni234A0338 /uni2AE30338 /uni23510338 /uni22AF /upVDash_uni0338 /uni2AE50338 /downVDash_uni0338
+ /uni22AC /uni22A50338 %/uni27C20338
+ /uni22A30338 /uni22A40338 /uni22A60338 /uni22AE0338 /uni2ADE0338 /uni2ADF0338
+ /uni22AD /uni2AEB0338 /uni2AE40338 /uni2AEA0338 /uni22A70338 /sym07E_uni0338 /sym07D_uni0338 /sym07F_uni0338
%F0
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /uni22AE /uni234A0338 /uni2AE30338 /uni23510338 /uni22AE.alt /uni2AE80338 /uni2AE30338.alt /uni2AE70338 %/uni30120338
+ /uni22AF /sym080_uni0338 /uni2AE50338 /sym081_uni0338 /uni22AA0338 /sym082_uni0338 /uni2AE20338 /sym083_uni0338
] def
diff --git a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-e.enc b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-e.enc
index c94660f312a..dcefd1e1d4f 100644
--- a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-e.enc
+++ b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-e.enc
@@ -3,31 +3,31 @@
%
/FdSymbolE [
%00
- /plus.big /plus.big.disp /uni2A09 /uni2A09.disp /uni22C0 /uni22C0.disp /uni22C1 /uni22C1.disp
- /uni27D1.big /uni27D1.big.disp /uni27C7.big /uni27C7.big.disp /uni2A07 /uni2A07.disp /uni2A08 /uni2A08.disp
+ /sym090 /sym090.disp /uni2A09 /uni2A09.disp /uni22C0 /uni22C0.disp /uni22C1 /uni22C1.disp
+ /sym091 /sym091.disp /sym092 /sym092.disp /uni2A07 /uni2A07.disp /uni2A08 /uni2A08.disp
%10
- /curlyand.big /curlyand.big.disp /curlyor.big /curlyor.big.disp /curlywedgedot.big /curlywedgedot.big.disp /curlyveedot.big /curlyveedot.big.disp
- /doublecurlywedge.big /doublecurlywedge.big.disp /doublecurlyvee.big /doublecurlyvee.big.disp /uni22C2 /uni22C2.disp /uni22C3 /uni22C3.disp
+ /sym093 /sym093.disp /sym094 /sym094.disp /uni22C2 /uni22C2.disp /uni22C3 /uni22C3.disp
+ /sym095 /sym095.disp /uni2A03 /uni2A03.disp /sym096 /sym096.disp /uni2A04 /uni2A04.disp
%20
- /uni2A40.big /uni2A40.big.disp /uni2A03 /uni2A03.disp /capplus.big /capplus.big.disp /uni2A04 /uni2A04.disp
- /uni2A05 /uni2A05.disp /uni2A06 /uni2A06.disp /sqcapdot.big /sqcapdot.big.disp /sqcupdot.big /sqcupdot.big.disp
+ /uni2A05 /uni2A05.disp /uni2A06 /uni2A06.disp /sym097 /sym097.disp /sym098 /sym098.disp
+ /sym099 /sym099.disp /sym09A /sym09A.disp /uni2A01 /uni2A01.disp /uni2A02 /uni2A02.disp
%30
- /sqcapplus.big /sqcapplus.big.disp /sqcupplus.big /sqcupplus.big.disp /uni2A01 /uni2A01.disp /uni2A02 /uni2A02.disp
- /uni2A00 /uni2A00.disp /uni229B.big /uni229B.big.disp /product /product.disp /uni2210 /uni2210.disp
-%40
+ /uni2A00 /uni2A00.disp /sym09B /sym09B.disp /product /product.disp /uni2210 /uni2210.disp
/summation /summation.disp /uni2A0A /uni2A0A.disp /integral /integral.disp /uni222C /uni222C.disp
+%40
/uni222D /uni222D.disp /uni2A0C /uni2A0C.disp /uni222B2026222B /uni222B2026222B.disp /uni2231 /uni2231.disp
-%50
/uni2A11 /uni2A11.disp /uni2A0D /uni2A0D.disp /uni2A0E /uni2A0E.disp /uni2A0F /uni2A0F.disp
+%50
/uni222E /uni222E.disp /uni222F /uni222F.disp /uni2230 /uni2230.disp /uni2233 /uni2233.disp
-%60
/uni2232.alt /uni2232.alt.disp /uni2233.alt /uni2233.alt.disp /uni2232 /uni2232.disp /uni2A0B /uni2A0B.disp
+%60
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%70
- /.notdef /.notdef /circumflexcmb /circumflexcmb.big1 /circumflexcmb.big2 /circumflexcmb.big3 /circumflexcmb.big4 /circumflexcmb.big5
- /tildecomb /tildecomb.big1 /tildecomb.big2 /tildecomb.big3 /tildecomb.big4 /tildecomb.big5 /parencmb /parencmb.big1
+ /.notdef /.notdef /uni0302 /uni0302.big1 /uni0302.big2 /uni0302.big3 /uni0302.big4 /uni0302.big5
+ /uni0303 /uni0303.big1 /uni0303.big2 /uni0303.big3 /uni0303.big4 /uni0303.big5 /uni0311 /uni0311.big1
%80
- /parencmb.big2 /parencmb.big3 /parencmb.big4 /parencmb.big5 /uni20D7 /uni0335 /uni0337 /uni0338
+ /uni0311.big2 /uni0311.big3 /uni0311.big4 /uni0311.big5 /uni20D7 /uni0335 /uni0337 /uni0338
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%90
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
diff --git a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-f.enc b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-f.enc
index 11cbac18105..69a575b708b 100644
--- a/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-f.enc
+++ b/Master/texmf-dist/fonts/enc/dvips/fdsymbol/fdsymbol-f.enc
@@ -16,15 +16,15 @@
/uni231C.big2 /uni231C.big3 /uni231C.big4 /uni231C.big5 /uni231D /uni231D.big1 /uni231D.big2 /uni231D.big3
%40
/uni231D.big4 /uni231D.big5 /uni231E /uni231E.big1 /uni231E.big2 /uni231E.big3 /uni231E.big4 /uni231E.big5
- /uni231F /uni231F.big1 /uni231F.big2 /uni231F.big3 /uni231F.big4 /uni231F.big5 /ullcorner /ullcorner.big1
+ /uni231F /uni231F.big1 /uni231F.big2 /uni231F.big3 /uni231F.big4 /uni231F.big5 /sym0A0 /sym0A0.big1
%50
- /ullcorner.big2 /ullcorner.big3 /ullcorner.big4 /ullcorner.big5 /ulrcorner /ulrcorner.big1 /ulrcorner.big2 /ulrcorner.big3
- /ulrcorner.big4 /ulrcorner.big5 /uni23A1 /uni23A4 /uni23A3 /uni23A6 /uni23A2 /uni23A5
+ /sym0A0.big2 /sym0A0.big3 /sym0A0.big4 /sym0A0.big5 /sym0A1 /sym0A1.big1 /sym0A1.big2 /sym0A1.big3
+ /sym0A1.big4 /sym0A1.big5 /uni23A1 /uni23A4 /uni23A3 /uni23A6 /uni23A2 /uni23A5
%60
/uni27E6 /uni27E6.big1 /uni27E6.big2 /uni27E6.big3 /uni27E6.big4 /uni27E6.big5 /uni27E7 /uni27E7.big1
- /uni27E7.big2 /uni27E7.big3 /uni27E7.big4 /uni27E7.big5 /lsemtop /rsemtop /lsembot /rsembot
+ /uni27E7.big2 /uni27E7.big3 /uni27E7.big4 /uni27E7.big5 /sym0A2 /sym0A5 /sym0A4 /sym0A7
%70
- /lsemmod /rsemmod /braceleft /braceleft.big1 /braceleft.big2 /braceleft.big3 /braceleft.big4 /braceleft.big5
+ /sym0A3 /sym0A6 /braceleft /braceleft.big1 /braceleft.big2 /braceleft.big3 /braceleft.big4 /braceleft.big5
/braceright /braceright.big1 /braceright.big2 /braceright.big3 /braceright.big4 /braceright.big5 /uni23A7 /uni23AB
%80
/uni23A9 /uni23AD /uni23A8 /uni23AC /uni23AA /uni27E8 /uni27E8.big1 /uni27E8.big2
@@ -36,14 +36,15 @@
/uni2991.big3 /uni2991.big4 /uni2991.big5 /uni2992 /uni2992.big1 /uni2992.big2 /uni2992.big3 /uni2992.big4
/uni2992.big5 /slash /slash.big1 /slash.big2 /slash.big3 /slash.big4 /slash.big5 /backslash
%B0
- /backslash.big1 /backslash.big2 /backslash.big3 /backslash.big4 /backslash.big5 /divides.small /verticalbar /verticalbar.big1
- /uni2224.small /uni2224 /uni224.big1 /arrowvert /parallel.small /dblverticalbar /dblverticalbar.big1 /notparallel.small
+ /backslash.big1 /backslash.big2 /backslash.big3 /backslash.big4 /backslash.big5 /uni2223.short /uni2223 /uni2223.big1 %/uni007C
+ /uni2224.short /uni2224 /uni224.big1 /sym0A8 /uni2225.short /uni2225 /uni2225.big1 %/uni2016
+ /uni2226.short
%C0
- /notparallel /notparallel.big1 /dblarrowvert /uni2980 /uni2980.big1 /trparrowvert /arrowtop /arrowbot
- /arrowmod /dblarrowtop /dblarrowbot /dblarrowmod /ucurlyleft /dcurlyleft /ucurlyright /dcurlyright
+ /uni2226 /uni2226.big1 /sym0A9 /uni2980 /uni2980.big1 /sym0AA /arrowup.short /arrowdown.short
+ /sym0AB /arrowdblup.short /arrowdbldown.short /sym0AC /sym0AD /sym0AF /sym0AE /sym0B0
%D0
- /ucurlymid /dcurlymid /udcurlymod /radical /radical.big1 /radical.big2 /radical.big3 /radical.big4
- /radical.big5 /roottop /uni23B7 /rootmod /.notdef /.notdef /.notdef /.notdef
+ /sym0B2 /sym0B3 /sym0B1 /radical /radical.big1 /radical.big2 /radical.big3 /radical.big4
+ /radical.big5 /sym0B4 /uni23B7 /sym0B5 /.notdef /.notdef /.notdef /.notdef
%E0
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/FdSymbolC.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/FdSymbolC.mf
index 3170fe0aeca..2bdfcbda231 100644
--- a/Master/texmf-dist/fonts/source/public/fdsymbol/FdSymbolC.mf
+++ b/Master/texmf-dist/fonts/source/public/fdsymbol/FdSymbolC.mf
@@ -13,4 +13,8 @@ negated := false;
input fdarrows;
+current_char := 223;
+
+input fdturnstile;
+
bye;
diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/FdSymbolD.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/FdSymbolD.mf
index 55d1c26cf64..29123a33f0c 100644
--- a/Master/texmf-dist/fonts/source/public/fdsymbol/FdSymbolD.mf
+++ b/Master/texmf-dist/fonts/source/public/fdsymbol/FdSymbolD.mf
@@ -13,4 +13,8 @@ negated := true;
input fdarrows;
+current_char := 223;
+
+input fdturnstile;
+
bye;
diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/fdarrows.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/fdarrows.mf
index 01b36a12f9b..720c9c8a16e 100644
--- a/Master/texmf-dist/fonts/source/public/fdsymbol/fdarrows.mf
+++ b/Master/texmf-dist/fonts/source/public/fdsymbol/fdarrows.mf
@@ -13,26 +13,26 @@ enddef;
for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "single arrow (" & decimal alpha & ")";
draw_line(foot_ex, head, false);
- draw_arrowhead(head, arrow_dir, arrow_spread, line_thickness);
+ draw_arrowhead(head, alpha, arrow_spread, line_thickness);
if negated:
- stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
beginarrow(alpha, 6/5, ifneg(19/10, 13/10) * arrow_spread#); "double arrow (" & decimal alpha & ")";
- z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
+ z1 - z0 = z3 - z2 = equal_spread * dir (alpha + 90);
1/2[z0,z1] = foot_ex;
1/2[z2,z3] = head;
- draw_line(z0, arrowhead_intersection(head, arrow_dir, 13/10arrow_spread, z0 -- z2), false);
- draw_line(z1, arrowhead_intersection(head, arrow_dir, 13/10arrow_spread, z1 -- z3), false);
- draw_arrowhead(head, arrow_dir, 13/10arrow_spread, line_thickness);
+ draw_line(z0, arrowhead_intersection(head, alpha, 13/10arrow_spread, z0 -- z2), false);
+ draw_line(z1, arrowhead_intersection(head, alpha, 13/10arrow_spread, z1 -- z3), false);
+ draw_arrowhead(head, alpha, 13/10arrow_spread, line_thickness);
if negated:
- stroke_through_arrow(1/2[foot, head - arrow_spread * dir arrow_dir], alpha, 19/10arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head - arrow_spread * dir alpha], alpha, 19/10arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
@@ -40,8 +40,8 @@ endfor;
for alpha = 0, 90, 45, 135:
beginarrow(alpha, 6/5, ifneg(3/2, 1) * arrow_spread#); "bidirectional arrow (" & decimal alpha & ")";
draw_line(foot, head, false);
- draw_arrowhead(head, arrow_dir, arrow_spread, line_thickness);
- draw_arrowhead(foot, arrow_dir+180, arrow_spread, line_thickness);
+ draw_arrowhead(head, alpha, arrow_spread, line_thickness);
+ draw_arrowhead(foot, alpha+180, arrow_spread, line_thickness);
if negated:
stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
@@ -51,14 +51,14 @@ endfor;
for alpha = 0, 90, 45, 135:
beginarrow(alpha, 7/5, ifneg(19/10, 13/10) * arrow_spread#); "double bidirectional arrow (" & decimal alpha & ")";
- z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
+ z1 - z0 = z3 - z2 = equal_spread * dir (alpha + 90);
1/2[z0,z1] = foot;
1/2[z2,z3] = head;
- draw_line(arrowhead_intersection(foot, arrow_dir+180, 13/10arrow_spread, z0 -- z2), arrowhead_intersection(head, arrow_dir, 13/10arrow_spread, z0 -- z2), false);
- draw_line(arrowhead_intersection(foot, arrow_dir+180, 13/10arrow_spread, z1 -- z3), arrowhead_intersection(head, arrow_dir, 13/10arrow_spread, z1 -- z3), false);
- draw_arrowhead(head, arrow_dir, 13/10arrow_spread, line_thickness);
- draw_arrowhead(foot, arrow_dir+180, 13/10arrow_spread, line_thickness);
+ draw_line(arrowhead_intersection(foot, alpha+180, 13/10arrow_spread, z0 -- z2), arrowhead_intersection(head, alpha, 13/10arrow_spread, z0 -- z2), false);
+ draw_line(arrowhead_intersection(foot, alpha+180, 13/10arrow_spread, z1 -- z3), arrowhead_intersection(head, alpha, 13/10arrow_spread, z1 -- z3), false);
+ draw_arrowhead(head, alpha, 13/10arrow_spread, line_thickness);
+ draw_arrowhead(foot, alpha+180, 13/10arrow_spread, line_thickness);
if negated:
stroke_through_arrow(1/2[foot, head], alpha, 19/10arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
@@ -69,22 +69,22 @@ endfor;
for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
beginarrow(alpha, 5/4, ifneg(3/2, 1) * arrow_spread#); "double-head arrow (" & decimal alpha & ")";
draw_line(foot_ex, head, false);
- draw_arrowhead(head, arrow_dir, arrow_spread, line_thickness);
- draw_arrowhead(head - 1/4arrow_len * dir arrow_dir, arrow_dir, arrow_spread, line_thickness);
+ draw_arrowhead(head, alpha, arrow_spread, line_thickness);
+ draw_arrowhead(head - 1/4arrow_len * dir alpha, alpha, arrow_spread, line_thickness);
if negated:
- stroke_through_arrow(1/2[foot, head - (1/2arrow_spread + 1/4arrow_len) * dir arrow_dir], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head - (1/2arrow_spread + 1/4arrow_len) * dir alpha], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "tailed arrow (" & decimal alpha & ")";
- z0 = foot + 1/2arrow_spread * dir arrow_dir;
+ z0 = foot + 1/2arrow_spread * dir alpha;
draw_line(z0, head, false);
- draw_arrowhead(head, arrow_dir, arrow_spread, line_thickness);
- draw_arrowhead(z0, arrow_dir, arrow_spread, line_thickness);
+ draw_arrowhead(head, alpha, arrow_spread, line_thickness);
+ draw_arrowhead(z0, alpha, arrow_spread, line_thickness);
if negated:
stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
@@ -92,14 +92,31 @@ for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
endchar;
endfor;
-for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+for alpha = 0, 90, 180, 270:
beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "arrow with foot (" & decimal alpha & ")";
draw_line(foot, head, false);
draw_line(foot - 1/2arrow_spread * dir (alpha + 90), foot + 1/2arrow_spread * dir (alpha + 90), true);
- draw_arrowhead(head, arrow_dir, arrow_spread, line_thickness);
+ draw_arrowhead(head, alpha, arrow_spread, line_thickness);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270:
+ beginarrow(alpha, 6/5, ifneg(19/10, 13/10) * arrow_spread#); "double arrow with foot (" & decimal alpha & ")";
+ z1 - z0 = z3 - z2 = equal_spread * dir (alpha + 90);
+ 1/2[z0,z1] = foot_ex;
+ 1/2[z2,z3] = head;
+
+ draw_line(z0, arrowhead_intersection(head, alpha, 13/10arrow_spread, z0 -- z2), false);
+ draw_line(z1, arrowhead_intersection(head, alpha, 13/10arrow_spread, z1 -- z3), false);
+ draw_line(foot - 13/20arrow_spread * dir (alpha + 90), foot + 13/20arrow_spread * dir (alpha + 90), true);
+ draw_arrowhead(head, alpha, 13/10arrow_spread, line_thickness);
if negated:
- stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 19/10arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
@@ -108,24 +125,24 @@ for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "left embedding (" & decimal alpha & ")";
thick := line_thickness;
- z0 = foot + 1/4arrow_spread * dir(arrow_dir + 90);
- 1/2[z1,z2] = z0 + 1/4arrow_spread * dir arrow_dir;
- z2 = z1 + 1/2arrow_spread * dir (arrow_dir + 90);
+ z0 = foot + 1/4arrow_spread * dir(alpha + 90);
+ 1/2[z1,z2] = z0 + 1/4arrow_spread * dir alpha;
+ z2 = z1 + 1/2arrow_spread * dir (alpha + 90);
z3 = head;
- z4 = z2 + 1/2thick * dir arrow_dir;
+ z4 = z2 + 1/2thick * dir alpha;
- penpos0(thick, arrow_dir);
- penpos1(thick, arrow_dir + 90);
- penpos2(thick, arrow_dir - 90);
- penpos3(thick, arrow_dir + 90);
- penpos4(thick, arrow_dir - 90);
+ penpos0(thick, alpha);
+ penpos1(thick, alpha + 90);
+ penpos2(thick, alpha - 90);
+ penpos3(thick, alpha + 90);
+ penpos4(thick, alpha - 90);
- draw_arrowhead(head, arrow_dir, arrow_spread, thick);
- fill stroke z4.e -- z2.e{dir (arrow_dir + 180)} ..
- z0.e{dir (arrow_dir - 90)} .. z1.e{dir arrow_dir} -- z3.e;
+ draw_arrowhead(head, alpha, arrow_spread, thick);
+ fill stroke z4.e -- z2.e{dir (alpha + 180)} ..
+ z0.e{dir (alpha - 90)} .. z1.e{dir alpha} -- z3.e;
if negated:
- stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
@@ -134,24 +151,24 @@ for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "right embedding (" & decimal alpha & ")";
thick := line_thickness;
- z0 = foot - 1/4arrow_spread * dir(arrow_dir + 90);
- 1/2[z1,z2] = z0 + 1/4arrow_spread * dir arrow_dir;
- z2 = z1 - 1/2arrow_spread * dir (arrow_dir + 90);
+ z0 = foot - 1/4arrow_spread * dir(alpha + 90);
+ 1/2[z1,z2] = z0 + 1/4arrow_spread * dir alpha;
+ z2 = z1 - 1/2arrow_spread * dir (alpha + 90);
z3 = head;
- z4 = z2 + 1/2thick * dir arrow_dir;
+ z4 = z2 + 1/2thick * dir alpha;
- penpos0(thick, arrow_dir + 180);
- penpos1(thick, arrow_dir + 90);
- penpos2(thick, arrow_dir - 90);
- penpos3(thick, arrow_dir + 90);
- penpos4(thick, arrow_dir - 90);
+ penpos0(thick, alpha + 180);
+ penpos1(thick, alpha + 90);
+ penpos2(thick, alpha - 90);
+ penpos3(thick, alpha + 90);
+ penpos4(thick, alpha - 90);
- draw_arrowhead(head, arrow_dir, arrow_spread, thick);
- fill stroke z4.e -- z2.e{dir (arrow_dir + 180)} ..
- z0.e{dir (arrow_dir + 90)} .. z1.e{dir arrow_dir} -- z3.e;
+ draw_arrowhead(head, alpha, arrow_spread, thick);
+ fill stroke z4.e -- z2.e{dir (alpha + 180)} ..
+ z0.e{dir (alpha + 90)} .. z1.e{dir alpha} -- z3.e;
if negated:
- stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
@@ -159,10 +176,10 @@ endfor;
for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "left harpoon (" & decimal alpha & ")";
draw_line(foot_ex, head, false);
- draw_arrowhead_left(head, arrow_dir, arrow_spread, line_thickness);
+ draw_arrowhead_left(head, alpha, arrow_spread, line_thickness);
if negated:
- stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
@@ -170,10 +187,10 @@ endfor;
for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "right harpoon (" & decimal alpha & ")";
draw_line(foot_ex, head, false);
- draw_arrowhead_right(head, arrow_dir, arrow_spread, line_thickness);
+ draw_arrowhead_right(head, alpha, arrow_spread, line_thickness);
if negated:
- stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
@@ -181,8 +198,8 @@ endfor;
for alpha = 0, 90, 45, 135:
beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "left left harpoon (" & decimal alpha & ")";
draw_line(foot, head, false);
- draw_arrowhead_left(head, arrow_dir, arrow_spread, line_thickness);
- draw_arrowhead_left(foot, arrow_dir+180, arrow_spread, line_thickness);
+ draw_arrowhead_left(head, alpha, arrow_spread, line_thickness);
+ draw_arrowhead_left(foot, alpha+180, arrow_spread, line_thickness);
if negated:
stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)(80, 80, 110, 110);
@@ -193,8 +210,8 @@ endfor;
for alpha = 0, 90, 45, 135:
beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "right right harpoon (" & decimal alpha & ")";
draw_line(foot, head, false);
- draw_arrowhead_right(head, arrow_dir, arrow_spread, line_thickness);
- draw_arrowhead_right(foot, arrow_dir+180, arrow_spread, line_thickness);
+ draw_arrowhead_right(head, alpha, arrow_spread, line_thickness);
+ draw_arrowhead_right(foot, alpha+180, arrow_spread, line_thickness);
if negated:
stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)(70, 70, 100, 100);
@@ -204,7 +221,7 @@ endfor;
for alpha = 0, 90, 45, 135:
beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread# + equal_spread#); "double left left harpoon (" & decimal alpha & ")";
- z1 - z0 = z1' - z0' = z3 - z2 = z3' - z2' = equal_spread * dir (arrow_dir + 90);
+ z1 - z0 = z1' - z0' = z3 - z2 = z3' - z2' = equal_spread * dir (alpha + 90);
1/2[z0,z1] = foot;
1/2[z0',z1'] = foot_ex;
1/2[z2,z3] = head;
@@ -212,8 +229,8 @@ for alpha = 0, 90, 45, 135:
draw_line(z2', z0, false);
draw_line(z1', z3, false);
- draw_arrowhead_left(z3, arrow_dir, arrow_spread, line_thickness);
- draw_arrowhead_left(z0, arrow_dir+180, arrow_spread, line_thickness);
+ draw_arrowhead_left(z3, alpha, arrow_spread, line_thickness);
+ draw_arrowhead_left(z0, alpha+180, arrow_spread, line_thickness);
if negated:
stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread + equal_spread)(80, 80, 110, 110);
@@ -223,7 +240,7 @@ endfor;
for alpha = 0, 90, 45, 135:
beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread# + equal_spread#); "double right right harpoon (" & decimal alpha & ")";
- z1 - z0 = z1' - z0' = z3 - z2 = z3' - z2' = equal_spread * dir (arrow_dir + 90);
+ z1 - z0 = z1' - z0' = z3 - z2 = z3' - z2' = equal_spread * dir (alpha + 90);
1/2[z0,z1] = foot;
1/2[z0',z1'] = foot_ex;
1/2[z2,z3] = head;
@@ -231,8 +248,8 @@ for alpha = 0, 90, 45, 135:
draw_line(z0', z2, false);
draw_line(z3', z1, false);
- draw_arrowhead_right(z2, arrow_dir, arrow_spread, line_thickness);
- draw_arrowhead_right(z1, arrow_dir+180, arrow_spread, line_thickness);
+ draw_arrowhead_right(z2, alpha, arrow_spread, line_thickness);
+ draw_arrowhead_right(z1, alpha+180, arrow_spread, line_thickness);
if negated:
stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread + equal_spread)(70, 70, 100, 100);
@@ -247,7 +264,7 @@ for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
draw_line(foot_ex, z0, false);
draw_line(z1, head, false);
- draw_arrowhead(head, arrow_dir, arrow_spread, line_thickness);
+ draw_arrowhead(head, alpha, arrow_spread, line_thickness);
if negated:
stroke_through_arrow(1/2[z0, z1], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
@@ -256,23 +273,55 @@ for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
endfor;
for alpha = 0, 90, 180, 270:
- beginarrow(alpha, 6/5, ifneg(3/2, 1) * arrow_spread#); "multi map (" & decimal alpha & ")";
- draw_line(foot_ex, head - (4/5arrow_spread + 1/4line_thickness) * dir arrow_dir, false);
- draw_circle(head - 2/5arrow_spread * dir arrow_dir, 2/5arrow_spread, line_thickness);
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "multi map (" & decimal alpha & ")";
+ draw_line(foot_ex, head - (4/5arrow_spread + 1/4line_thickness) * dir alpha, false);
+ draw_circle(head - 2/5arrow_spread * dir alpha, 2/5arrow_spread, line_thickness);
if negated:
- stroke_through_arrow(1/2[foot, head - 4/5arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head - 4/5arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
for alpha = 0, 90, 180, 270:
- beginarrow(alpha, 6/5, ifneg(3/2, 1) * arrow_spread#); "filled multi map (" & decimal alpha & ")";
- draw_line(foot_ex, head_ex - 2/5arrow_spread * dir arrow_dir, false);
- filldraw_circle(head - 2/5arrow_spread * dir arrow_dir, 2/5arrow_spread, line_thickness);
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "filled multi map (" & decimal alpha & ")";
+ draw_line(foot_ex, head_ex - 2/5arrow_spread * dir alpha, false);
+ filldraw_circle(head - 2/5arrow_spread * dir alpha, 2/5arrow_spread, line_thickness);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 4/5arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+beginarrow(0, 7/5, ifneg(3/2, 1) * arrow_spread#); "double multi map";
+ draw_line(foot + (4/5arrow_spread + 1/4line_thickness) * right, head - (4/5arrow_spread + 1/4line_thickness) * right, false);
+ draw_circle(head - 2/5arrow_spread * right, 2/5arrow_spread, line_thickness);
+ draw_circle(foot + 2/5arrow_spread * right, 2/5arrow_spread, line_thickness);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], 0, 3/2arrow_spread)(70);
+ fi
+endchar;
+
+beginarrow(0, 7/5, ifneg(3/2, 1) * arrow_spread#); "filled double multi map";
+ draw_line(foot_ex + 2/5arrow_spread * right, head - 2/5arrow_spread * right, false);
+ filldraw_circle(head - 2/5arrow_spread * right, 2/5arrow_spread, line_thickness);
+ filldraw_circle(foot + 2/5arrow_spread * right, 2/5arrow_spread, line_thickness);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], 0, 3/2arrow_spread)(70);
+ fi
+endchar;
+
+for alpha = 0, 180:
+ beginarrow(alpha, 7/5, ifneg(3/2, 1) * arrow_spread#); "image of (" & decimal alpha & ")";
+ draw_line(foot_ex + 2/5arrow_spread * dir alpha, head - (4/5arrow_spread + 1/4line_thickness) * dir alpha, false);
+ filldraw_circle(foot + 2/5arrow_spread * dir alpha, 2/5arrow_spread, line_thickness);
+ draw_circle(head - 2/5arrow_spread * dir alpha, 2/5arrow_spread, line_thickness);
if negated:
- stroke_through_arrow(1/2[foot, head - 4/5arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
@@ -280,7 +329,7 @@ endfor;
for alpha = 0, 90, 180, 270:
beginarrow(alpha, 1, 3/4plus_size# + ifneg(1,0) * arrow_spread#); "pitchfork (" & decimal alpha & ")";
draw_line(foot_ex, head_ex, false);
- draw_subset(a, foot + 1/2arrow_len * dir arrow_dir, foot_ex, 3/4plus_size, line_thickness);
+ draw_subset(a, foot + 1/2arrow_len * dir alpha, foot_ex, 3/4plus_size, line_thickness);
if negated:
stroke_through_arrow(1/4[foot, head], alpha, 3/4plus_size + arrow_spread)(80, 80, 100, 100, 80, 80, 100, 100);
@@ -290,24 +339,24 @@ endfor;
for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
beginarrow(alpha, 1, 2arrow_spread#); "parallel arrows (" & decimal alpha & ")";
- z1 - z0 = z3 - z2 = arrow_spread * dir (arrow_dir + 90);
+ z1 - z0 = z3 - z2 = arrow_spread * dir (alpha + 90);
1/2[z0,z1] = foot_ex;
1/2[z2,z3] = head;
draw_line(z0, z2, false);
draw_line(z1, z3, false);
- draw_arrowhead(z2, arrow_dir, arrow_spread, line_thickness);
- draw_arrowhead(z3, arrow_dir, arrow_spread, line_thickness);
+ draw_arrowhead(z2, alpha, arrow_spread, line_thickness);
+ draw_arrowhead(z3, alpha, arrow_spread, line_thickness);
if negated:
- stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
for alpha = 0, 90, 45, 135:
beginarrow(alpha, 1, 2arrow_spread#); "anti-parallel arrows right left (" & decimal alpha & ")";
- z1 - z0 = z1' - z0' = z3 - z2 = z3' - z2' = arrow_spread * dir (arrow_dir + 90);
+ z1 - z0 = z1' - z0' = z3 - z2 = z3' - z2' = arrow_spread * dir (alpha + 90);
1/2[z0,z1] = foot;
1/2[z0',z1'] = foot_ex;
1/2[z2,z3] = head;
@@ -315,8 +364,8 @@ for alpha = 0, 90, 45, 135:
draw_line(z2', z0, false);
draw_line(z1', z3, false);
- draw_arrowhead(z3, arrow_dir, arrow_spread, line_thickness);
- draw_arrowhead(z0, arrow_dir+180, arrow_spread, line_thickness);
+ draw_arrowhead(z3, alpha, arrow_spread, line_thickness);
+ draw_arrowhead(z0, alpha+180, arrow_spread, line_thickness);
if negated:
stroke_through_arrow(1/2[foot, head], alpha, 2arrow_spread)(80, 80, 110, 110);
@@ -326,7 +375,7 @@ endfor;
for alpha = 0, 90, 45, 135:
beginarrow(alpha, 1, 2arrow_spread#); "anti-parallel arrows left right (" & decimal alpha & ")";
- z1 - z0 = z1' - z0' = z3 - z2 = z3' - z2' = arrow_spread * dir (arrow_dir + 90);
+ z1 - z0 = z1' - z0' = z3 - z2 = z3' - z2' = arrow_spread * dir (alpha + 90);
1/2[z0,z1] = foot;
1/2[z0',z1'] = foot_ex;
1/2[z2,z3] = head;
@@ -334,8 +383,8 @@ for alpha = 0, 90, 45, 135:
draw_line(z0', z2, false);
draw_line(z3', z1, false);
- draw_arrowhead(z2, arrow_dir, arrow_spread, line_thickness);
- draw_arrowhead(z1, arrow_dir+180, arrow_spread, line_thickness);
+ draw_arrowhead(z2, alpha, arrow_spread, line_thickness);
+ draw_arrowhead(z1, alpha+180, arrow_spread, line_thickness);
if negated:
stroke_through_arrow(1/2[foot, head], alpha, 2arrow_spread)(70, 70, 100, 100);
@@ -343,145 +392,96 @@ for alpha = 0, 90, 45, 135:
endchar;
endfor;
+for sign = 1, -1:
for alpha = 0, 90, 180, 270:
- beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "left right wave arrow (" & decimal alpha & ")";
- thick := line_thickness;
-
- z0 = foot - 1/10arrow_spread * dir (arrow_dir + 90);
- z1 = 15/80[foot,head] + 1/4arrow_spread * dir (arrow_dir + 90);
- z2 = 30/80[foot,head];
- z3 = 45/80[foot,head] - 1/4arrow_spread * dir (arrow_dir + 90);
- z4 = 60/80[foot,head];
- z5 = head + 1/10arrow_spread * dir (arrow_dir + 90);
-
- penpos0(thick, arrow_dir - 45);
- penpos1(thick, arrow_dir - 90);
- penpos2(thick, arrow_dir - 135);
- penpos3(thick, arrow_dir - 90);
- penpos4(thick, arrow_dir - 45);
- penpos5(thick, arrow_dir - 75);
-
- penlabels(0,1,2,3,4,5);
-
- fill stroke z0.e{dir (arrow_dir + 45)} .. z1.e .. z2.e{dir (arrow_dir - 45)} .. z3.e .. z4.e ... {dir (arrow_dir+15)}z5.e;
- draw_arrowhead(z5, arrow_dir+15, arrow_spread, thick);
-
- if negated:
- stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)(70, 70, 70, 70, 70, 70, 70, 70);
- fi
- endchar;
-endfor;
-
-for alpha = 0, 90, 180, 270:
- beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "right left wave arrow (" & decimal alpha & ")";
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#);
+ if sign > 0: "left right" else: "right left" fi & " wave arrow (" & decimal alpha & ")";
thick := line_thickness;
- z0 = foot + 1/10arrow_spread * dir (arrow_dir + 90);
- z1 = 15/80[foot,head] - 1/4arrow_spread * dir (arrow_dir + 90);
- z2 = 30/80[foot,head];
- z3 = 45/80[foot,head] + 1/4arrow_spread * dir (arrow_dir + 90);
- z4 = 60/80[foot,head];
- z5 = head - 1/10arrow_spread * dir (arrow_dir + 90);
-
- penpos0(thick, arrow_dir - 135);
- penpos1(thick, arrow_dir - 90);
- penpos2(thick, arrow_dir - 45);
- penpos3(thick, arrow_dir - 90);
- penpos4(thick, arrow_dir - 135);
- penpos5(thick, arrow_dir - 105);
-
- penlabels(0,1,2,3,4,5);
-
- fill stroke z0.e{dir (arrow_dir - 45)} .. z1.e .. z2.e{dir (arrow_dir + 45)} .. z3.e .. z4.e ... {dir (arrow_dir-15)}z5.e;
- draw_arrowhead(z5, arrow_dir-15, arrow_spread, thick);
-
- if negated:
- stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)(110, 110, 110, 110, 110, 110, 110, 110);
- fi
- endchar;
-endfor;
-
-for alpha = 0, 90:
- beginarrow(alpha, 19/16, ifneg(3/2, 1) * arrow_spread#); "left right bidirectional wave arrow (" & decimal alpha & ")";
- thick := line_thickness;
-
- z0 = foot - 1/10arrow_spread * dir (arrow_dir + 90);
- z1 = 4/20[foot,head];
- z2 = 7/20[foot,head] + 1/4arrow_spread * dir (arrow_dir + 90);
- z3 = 10/20[foot,head];
- z4 = 13/20[foot,head] - 1/4arrow_spread * dir (arrow_dir + 90);
- z5 = 16/20[foot,head];
- z6 = head + 1/10arrow_spread * dir (arrow_dir + 90);
-
- penpos0(thick, arrow_dir - 75);
- penpos1(thick, arrow_dir - 45);
- penpos2(thick, arrow_dir - 90);
- penpos3(thick, arrow_dir - 135);
- penpos4(thick, arrow_dir - 90);
- penpos5(thick, arrow_dir - 45);
- penpos6(thick, arrow_dir - 75);
+ z0 = foot - sign * 1/8arrow_spread * dir (alpha + 90);
+ z1 = 4/18[foot,head] + sign * 1/4arrow_spread * dir (alpha + 90);
+ z2 = 7/18[foot,head];
+ z3 = 10/18[foot,head] - sign * 1/4arrow_spread * dir (alpha + 90);
+ z4 = 12/18[foot,head] - sign * 1/8arrow_spread * dir (alpha + 90);
+ z5 = 14/18[foot,head];
+ z6 = head;
+
+ penpos0(thick, alpha - 90 + sign * 55);
+ penpos1(thick, alpha - 90);
+ penpos2(thick, alpha - 90 - sign * 55);
+ penpos3(thick, alpha - 90);
+ penpos4(thick, alpha - 90 + sign * 35);
+ penpos5(thick, alpha - 90);
+ penpos6(thick, alpha - 90);
penlabels(0,1,2,3,4,5,6);
- fill stroke z0.e{dir (arrow_dir + 15)} .. z1.e .. z2.e .. z3.e{dir (arrow_dir - 45)} .. z4.e .. z5.e ... {dir (arrow_dir+15)}z6.e;
- draw_arrowhead(z0, arrow_dir + 195, arrow_spread, thick);
- draw_arrowhead(z6, arrow_dir + 15, arrow_spread, thick);
+ fill stroke z0.e{dir (alpha + sign * 55)} .. z1.e{dir alpha} .. z2.e{dir (alpha - sign * 55)} .. z3.e{dir alpha} .. z4.e{dir (alpha + sign * 35)} ... {dir alpha}z5.e -- z6.e;
+ draw_arrowhead(z6, alpha, arrow_spread, thick);
if negated:
- stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)(70, 70, 70, 70);
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 70, 70, 70, 70, 70, 70);
fi
endchar;
endfor;
+endfor;
-for alpha = 0, 90:
- beginarrow(alpha, 19/16, ifneg(3/2, 1) * arrow_spread#); "right left bidirectional wave arrow (" & decimal alpha & ")";
- thick := line_thickness;
-
- z0 = foot + 1/10arrow_spread * dir (arrow_dir + 90);
- z1 = 4/20[foot,head];
- z2 = 7/20[foot,head] - 1/4arrow_spread * dir (arrow_dir + 90);
- z3 = 10/20[foot,head];
- z4 = 13/20[foot,head] + 1/4arrow_spread * dir (arrow_dir + 90);
- z5 = 16/20[foot,head];
- z6 = head - 1/10arrow_spread * dir (arrow_dir + 90);
-
- penpos0(thick, arrow_dir - 105);
- penpos1(thick, arrow_dir - 135);
- penpos2(thick, arrow_dir - 90);
- penpos3(thick, arrow_dir - 45);
- penpos4(thick, arrow_dir - 90);
- penpos5(thick, arrow_dir - 135);
- penpos6(thick, arrow_dir - 105);
-
- penlabels(0,1,2,3,4,5,6);
+for sign = 1, -1:
+ for alpha = 0, 90:
+ beginarrow(alpha, 6/5, ifneg(3/2, 1) * arrow_spread#);
+ if sign > 0: "left right" else: "right left" fi & " bidirectional wave arrow (" & decimal alpha & ")";
+ thick := line_thickness;
- fill stroke z0.e{dir (arrow_dir - 15)} .. z1.e .. z2.e .. z3.e{dir (arrow_dir + 45)} .. z4.e .. z5.e ... {dir (arrow_dir-15)}z6.e;
- draw_arrowhead(z0, arrow_dir - 195, arrow_spread, thick);
- draw_arrowhead(z6, arrow_dir - 15, arrow_spread, thick);
+ z0 = foot;
+ z1 = 4/22[foot,head];
+ z2 = 6/22[foot,head] + sign * 1/8arrow_spread * dir (alpha + 90);
+ z3 = 8/22[foot,head] + sign * 1/4arrow_spread * dir (alpha + 90);
+ z4 = 11/22[foot,head];
+ z5 = 14/22[foot,head] - sign * 1/4arrow_spread * dir (alpha + 90);
+ z6 = 16/22[foot,head] - sign * 1/8arrow_spread * dir (alpha + 90);
+ z7 = 18/22[foot,head];
+ z8 = head;
+
+ penpos0(thick, alpha - 90);
+ penpos1(thick, alpha - 90);
+ penpos2(thick, alpha - 90 + sign * 35);
+ penpos3(thick, alpha - 90);
+ penpos4(thick, alpha - 90 - sign * 55);
+ penpos5(thick, alpha - 90);
+ penpos6(thick, alpha - 90 + sign * 35);
+ penpos7(thick, alpha - 90);
+ penpos8(thick, alpha - 90);
+
+ penlabels(0,1,2,3,4,5,6,7,8);
+
+ fill stroke z0e. -- z1.e{dir alpha} .. z2.e{dir (alpha + sign * 35)} .. z3.e{dir alpha} .. z4.e{dir (alpha - sign * 55)} .. z5.e{dir alpha} ... z6.e{dir (alpha + sign * 35)} .. {dir alpha}z7.e -- z8.e;
+ draw_arrowhead(z0, alpha + 180, arrow_spread, thick);
+ draw_arrowhead(z8, alpha, arrow_spread, thick);
- if negated:
- stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)(110, 110, 110, 110);
- fi
- endchar;
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)(70, 70, 70, 70);
+ fi
+ endchar;
+ endfor;
endfor;
for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
beginarrow(alpha, 1, ifneg(3/2,1) * arrow_spread#); "right bend arrow (" & decimal alpha & ")";
thick := line_thickness;
- z0 = foot - 1/4arrow_spread * dir (arrow_dir + 90);
- z1 = 9/20[foot,head] + 1/4arrow_spread * dir (arrow_dir + 90);
- z2 = 19/20[foot,head] - 1/2arrow_spread * dir (arrow_dir + 90);
+ z0 = foot - 1/4arrow_spread * dir (alpha + 90);
+ z1 = 9/20[foot,head] + 1/4arrow_spread * dir (alpha + 90);
+ z2 = 19/20[foot,head] - 1/2arrow_spread * dir (alpha + 90);
- penpos0(thick, arrow_dir - 35);
- penpos1(thick, arrow_dir - 90);
- penpos2(thick, arrow_dir - 150);
+ penpos0(thick, alpha - 35);
+ penpos1(thick, alpha - 90);
+ penpos2(thick, alpha - 150);
- fill stroke z0.e{dir (arrow_dir + 55)} .. z1.e .. {dir (arrow_dir - 60)}z2.e;
- draw_arrowhead(z2, arrow_dir - 50, arrow_spread, thick);
+ fill stroke z0.e{dir (alpha + 55)} .. z1.e .. {dir (alpha - 60)}z2.e;
+ draw_arrowhead(z2, alpha - 50, arrow_spread, thick);
if negated:
- stroke_through_arrow(1/10[z1,z2] + 1/8arrow_spread * dir (arrow_dir - 90), alpha, 3/2arrow_spread)(80, 80, 80, 80, 80, 80, 80, 80);
+ stroke_through_arrow(1/10[z1,z2] + 1/8arrow_spread * dir (alpha - 90), alpha, 3/2arrow_spread)(80, 80, 80, 80, 80, 80, 80, 80);
fi
endchar;
endfor;
@@ -490,41 +490,41 @@ for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
beginarrow(alpha, 1, ifneg(3/2,1) * arrow_spread#); "left bend arrow (" & decimal alpha & ")";
thick := line_thickness;
- z0 = foot + 1/4arrow_spread * dir (arrow_dir + 90);
- z1 = 9/20[foot,head] - 1/4arrow_spread * dir (arrow_dir + 90);
- z2 = 19/20[foot,head] + 1/2arrow_spread * dir (arrow_dir + 90);
+ z0 = foot + 1/4arrow_spread * dir (alpha + 90);
+ z1 = 9/20[foot,head] - 1/4arrow_spread * dir (alpha + 90);
+ z2 = 19/20[foot,head] + 1/2arrow_spread * dir (alpha + 90);
- penpos0(thick, arrow_dir + 35);
- penpos1(thick, arrow_dir + 90);
- penpos2(thick, arrow_dir + 150);
+ penpos0(thick, alpha + 35);
+ penpos1(thick, alpha + 90);
+ penpos2(thick, alpha + 150);
- fill stroke z0.e{dir (arrow_dir - 55)} .. z1.e .. {dir (arrow_dir + 60)}z2.e;
- draw_arrowhead(z2, arrow_dir + 50, arrow_spread, thick);
+ fill stroke z0.e{dir (alpha - 55)} .. z1.e .. {dir (alpha + 60)}z2.e;
+ draw_arrowhead(z2, alpha + 50, arrow_spread, thick);
if negated:
- stroke_through_arrow(1/10[z1,z2] + 1/8arrow_spread * dir (arrow_dir + 90), alpha, 3/2arrow_spread)(110, 110, 110, 110, 110, 110, 110, 110);
+ stroke_through_arrow(1/10[z1,z2] + 1/8arrow_spread * dir (alpha + 90), alpha, 3/2arrow_spread)(110, 110, 110, 110, 110, 110, 110, 110);
fi
endchar;
endfor;
for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
- beginarrow(alpha, 6/5, ifneg(3/2,1) * arrow_spread#); "bend arrow (" & decimal alpha & ")";
+ beginarrow(alpha, 6/5, ifneg(3/2,1) * arrow_spread#); "bidirectional bend arrow (" & decimal alpha & ")";
thick := line_thickness;
- z0 = 1/20[foot,head] - 1/2arrow_spread * dir (arrow_dir + 90);
- z1 = 1/2[foot,head] + 1/4arrow_spread * dir (arrow_dir + 90);
- z2 = 19/20[foot,head] - 1/2arrow_spread * dir (arrow_dir + 90);
+ z0 = 1/20[foot,head] - 1/2arrow_spread * dir (alpha + 90);
+ z1 = 1/2[foot,head] + 1/4arrow_spread * dir (alpha + 90);
+ z2 = 19/20[foot,head] - 1/2arrow_spread * dir (alpha + 90);
- penpos0(thick, arrow_dir - 30);
- penpos1(thick, arrow_dir - 90);
- penpos2(thick, arrow_dir - 150);
+ penpos0(thick, alpha - 30);
+ penpos1(thick, alpha - 90);
+ penpos2(thick, alpha - 150);
- fill stroke z0.e{dir (arrow_dir + 60)} .. z1.e .. {dir (arrow_dir - 60)}z2.e;
- draw_arrowhead(z0, arrow_dir + 230, arrow_spread, thick);
- draw_arrowhead(z2, arrow_dir - 50, arrow_spread, thick);
+ fill stroke z0.e{dir (alpha + 60)} .. z1.e .. {dir (alpha - 60)}z2.e;
+ draw_arrowhead(z0, alpha + 230, arrow_spread, thick);
+ draw_arrowhead(z2, alpha - 50, arrow_spread, thick);
if negated:
- stroke_through_arrow(z1 + 1/8arrow_spread * dir (arrow_dir - 90), alpha, 3/2arrow_spread)(80, 80, 100, 100, 80, 80, 100, 100);
+ stroke_through_arrow(z1 + 1/8arrow_spread * dir (alpha - 90), alpha, 3/2arrow_spread)(80, 80, 100, 100, 80, 80, 100, 100);
fi
endchar;
endfor;
@@ -549,9 +549,9 @@ for sign = 1, -1:
r := (w - 2side_bearing)/2 - arrow_spread/3;
for i = 0 upto 7:
- z[i] = centre + r * dir (alpha + i/8 * 360);
- penpos[i](thick, alpha + i/8 * 360);
- endfor;
+ z[i] = centre + r * dir (alpha + i/8 * 360);
+ penpos[i](thick, alpha + i/8 * 360);
+ endfor;
z0' = centre + r * dir (alpha + 10);
penpos0'(thick, alpha + 10);
@@ -586,22 +586,165 @@ endfor;
for alpha = 0, 90, 180, 270:
beginarrow(alpha, 6/5, ifneg(21/10, 14/10) * arrow_spread#); "triple arrow (" & decimal alpha & ")";
- z1 - z0 = z2 - z1 = 2/3equal_spread * dir (arrow_dir + 90);
+ z1 - z0 = z2 - z1 = 2/3equal_spread * dir (alpha + 90);
z1 = foot_ex;
- z4 - z3 = z5 - z4 = 2/3equal_spread * dir (arrow_dir + 90);
+ z4 - z3 = z5 - z4 = 2/3equal_spread * dir (alpha + 90);
z4 = head_ex;
- draw_straight(z0, arrowhead_intersection(head, arrow_dir, 3/2arrow_spread, z0 -- z3), 4/5line_thickness, false);
- draw_straight(z1, arrowhead_intersection(head, arrow_dir, 3/2arrow_spread, z1 -- z4), 4/5line_thickness, false);
- draw_straight(z2, arrowhead_intersection(head, arrow_dir, 3/2arrow_spread, z2 -- z5), 4/5line_thickness, false);
- draw_arrowhead(head, arrow_dir, 3/2arrow_spread, line_thickness);
+ draw_straight(z0, arrowhead_intersection(head, alpha, 3/2arrow_spread, z0 -- z3), 4/5line_thickness, false);
+ draw_straight(z1, arrowhead_intersection(head, alpha, 3/2arrow_spread, z1 -- z4), 4/5line_thickness, false);
+ draw_straight(z2, arrowhead_intersection(head, alpha, 3/2arrow_spread, z2 -- z5), 4/5line_thickness, false);
+ draw_arrowhead(head, alpha, 3/2arrow_spread, line_thickness);
if negated:
- stroke_through_arrow(1/2[foot, head - arrow_spread * dir arrow_dir], alpha, 21/10arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ stroke_through_arrow(1/2[foot, head - arrow_spread * dir alpha], alpha, 21/10arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
fi
endchar;
endfor;
+for alpha = 0, 180:
+ beginarrow(alpha, 2, ifneg(3/2, 1) * arrow_spread#); "long single arrow (" & decimal alpha & ")";
+ draw_line(foot_ex, head, false);
+ draw_arrowhead(head, alpha, arrow_spread, line_thickness);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 180:
+ beginarrow(alpha, 2, ifneg(19/10, 13/10) * arrow_spread#); "long double arrow (" & decimal alpha & ")";
+ z1 - z0 = z3 - z2 = equal_spread * dir (alpha + 90);
+ 1/2[z0,z1] = foot_ex;
+ 1/2[z2,z3] = head;
+
+ draw_line(z0, arrowhead_intersection(head, alpha, 13/10arrow_spread, z0 -- z2), false);
+ draw_line(z1, arrowhead_intersection(head, alpha, 13/10arrow_spread, z1 -- z3), false);
+ draw_arrowhead(head, alpha, 13/10arrow_spread, line_thickness);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - arrow_spread * dir alpha], alpha, 19/10arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0:
+ beginarrow(alpha, 2, ifneg(3/2, 1) * arrow_spread#); "long bidirectional arrow (" & decimal alpha & ")";
+ draw_line(foot, head, false);
+ draw_arrowhead(head, alpha, arrow_spread, line_thickness);
+ draw_arrowhead(foot, alpha+180, arrow_spread, line_thickness);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0:
+ beginarrow(alpha, 2, ifneg(19/10, 13/10) * arrow_spread#); "long double bidirectional arrow (" & decimal alpha & ")";
+ z1 - z0 = z3 - z2 = equal_spread * dir (alpha + 90);
+ 1/2[z0,z1] = foot;
+ 1/2[z2,z3] = head;
+
+ draw_line(arrowhead_intersection(foot, alpha+180, 13/10arrow_spread, z0 -- z2), arrowhead_intersection(head, alpha, 13/10arrow_spread, z0 -- z2), false);
+ draw_line(arrowhead_intersection(foot, alpha+180, 13/10arrow_spread, z1 -- z3), arrowhead_intersection(head, alpha, 13/10arrow_spread, z1 -- z3), false);
+ draw_arrowhead(head, alpha, 13/10arrow_spread, line_thickness);
+ draw_arrowhead(foot, alpha+180, 13/10arrow_spread, line_thickness);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 19/10arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 180:
+ beginarrow(alpha, 2, ifneg(3/2, 1) * arrow_spread#); "long arrow with foot (" & decimal alpha & ")";
+ draw_line(foot, head, false);
+ draw_line(foot - 1/2arrow_spread * dir (alpha + 90), foot + 1/2arrow_spread * dir (alpha + 90), true);
+ draw_arrowhead(head, alpha, arrow_spread, line_thickness);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 180:
+ beginarrow(alpha, 2, ifneg(19/10, 13/10) * arrow_spread#); "long double arrow with foot (" & decimal alpha & ")";
+ z1 - z0 = z3 - z2 = equal_spread * dir (alpha + 90);
+ 1/2[z0,z1] = foot_ex;
+ 1/2[z2,z3] = head;
+
+ draw_line(z0, arrowhead_intersection(head, alpha, 13/10arrow_spread, z0 -- z2), false);
+ draw_line(z1, arrowhead_intersection(head, alpha, 13/10arrow_spread, z1 -- z3), false);
+ draw_line(foot - 13/20arrow_spread * dir (alpha + 90), foot + 13/20arrow_spread * dir (alpha + 90), true);
+ draw_arrowhead(head, alpha, 13/10arrow_spread, line_thickness);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - arrow_spread * dir alpha], alpha, 19/10arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 180:
+ beginarrow(alpha, 2, ifneg(3/2, 1) * arrow_spread#); "long wave arrow (" & decimal alpha & ")";
+ thick := line_thickness;
+ sign := if alpha > 0: 1 else: -1 fi;
+
+ z0 = foot - 1/8arrow_spread * up;
+ z1 = 4/43[foot,head] + 1/4arrow_spread * up;
+ z2 = 7/43[foot,head];
+ z3 = 10/43[foot,head] - 1/4arrow_spread * up;
+ z4 = 13/43[foot,head];
+ z5 = 16/43[foot,head] + 1/4arrow_spread * up;
+ z6 = 19/43[foot,head];
+ z7 = 22/43[foot,head] - 1/4arrow_spread * up;
+ z8 = 25/43[foot,head];
+ z9 = 28/43[foot,head] + 1/4arrow_spread * up;
+ z10 = 31/43[foot,head];
+ z11 = 34/43[foot,head] - 1/4arrow_spread * up;
+ z12 = 36/43[foot,head] - 1/8arrow_spread * up;
+ z13 = 38/43[foot,head];
+ z14 = head;
+
+ penpos0(thick, sign * 35);
+ penpos1(thick, sign * 90);
+ penpos2(thick, sign * 145);
+ penpos3(thick, sign * 90);
+ penpos4(thick, sign * 35);
+ penpos5(thick, sign * 90);
+ penpos6(thick, sign * 145);
+ penpos7(thick, sign * 90);
+ penpos8(thick, sign * 35);
+ penpos9(thick, sign * 90);
+ penpos10(thick, sign * 145);
+ penpos11(thick, sign * 90);
+ penpos12(thick, sign * 45);
+ penpos13(thick, sign * 90);
+ penpos14(thick, sign * 90);
+
+ penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+
+ fill stroke z0e{dir (sign * 35 + 90)} .. z1.e{dir (sign * 90 + 90)} .. z2.e{dir (sign * 145 + 90)} .. z3.e{dir (sign * 90 + 90)} .. z4.e{dir (sign * 35 + 90)} .. z5.e{dir (sign * 90 + 90)} .. z6.e{dir (sign * 145 + 90)} .. z7.e{dir (sign * 90 + 90)} .. z8.e{dir (sign * 35 + 90)} .. z9.e{dir (sign * 90 + 90)} .. z10.e{dir (sign * 145 + 90)} .. z11.e{dir (sign * 90 + 90)} .. z12.e{dir (sign * 45 + 90)} .. {dir (sign * 90 + 90)}z13.e -- z14.e;
+ draw_arrowhead(z14, alpha, arrow_spread, thick);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir alpha], alpha, 3/2arrow_spread)(70, 70, 70, 70, 70, 70, 70, 70);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 180:
+ beginarrow(alpha, 2, ifneg(3/2,1) * arrow_spread#); "long headless arrow with foot (" & decimal alpha & ")";
+ draw_line(foot_ex, head_ex, false);
+ draw_line(foot - 1/2arrow_spread * dir (alpha + 90), foot + 1/2arrow_spread * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
if not negated:
for sign = 1, -1:
@@ -633,8 +776,11 @@ if not negated:
endfor;
for sign = -1, 1:
- beginoperator(arrow_len#, 1); "loop arrow";
+ beginsymbol(arrow_diag_len# + 2side_bearing#, vcentre(arrow_diag_len#)); "loop arrow";
thick := line_thickness;
+ arrow_len := arrow_diag_len;
+ pair centre;
+ centre := (w/2, (h-d)/2);
z0 = centre + sign * (arrow_len - line_thickness)/2 * left;
z1 = centre + arrow_len/2 * down;
@@ -657,77 +803,3 @@ if not negated:
endchar;
endfor;
fi
-
-current_char := 223;
-
-for alpha = 0, 90, 180, 270:
- beginarrow(alpha, 2/3, ifneg(2, 3/2) * arrow_spread#); "derives (" & decimal alpha & ")";
- draw_line(foot, head_ex, false);
- draw_line(foot - 3/4arrow_spread * dir (arrow_dir + 90), foot + 3/4arrow_spread * dir (arrow_dir + 90), true);
-
- if negated:
- stroke_through_arrow(2/3[foot, head], alpha, 2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
- fi
- endchar;
-endfor;
-
-for alpha = 0, 90, 180, 270:
- beginarrow(alpha, 2/3, ifneg(9/4, 7/4) * arrow_spread#); "models (" & decimal alpha & ")";
- z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
- 0.5[z0,z1] = foot;
- 0.5[z2,z3] = head_ex;
-
- draw_line(z0, z2, false);
- draw_line(z1, z3, false);
- draw_line(foot - 7/8arrow_spread * dir (arrow_dir + 90), foot + 7/8arrow_spread * dir (arrow_dir + 90), true);
-
- if negated:
- stroke_through_arrow(2/3[foot, head], alpha, 9/4arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
- fi
- endchar;
-endfor;
-
-for alpha = 0, 90, 180, 270:
- beginarrow(alpha, 1, ifneg(9/4, 7/4) * arrow_spread#); "forces (" & decimal alpha & ")";
- z0 = foot + equal_spread * dir arrow_dir;
-
- draw_line(z0, head_ex, false);
- draw_line(foot - 7/8arrow_spread * dir (arrow_dir + 90), foot + 7/8arrow_spread * dir (arrow_dir + 90), true);
- draw_line(z0 - 7/8arrow_spread * dir (arrow_dir + 90), z0 + 7/8arrow_spread * dir (arrow_dir + 90), true);
-
- if negated:
- stroke_through_arrow(5/8[z0, head], alpha, 9/4arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
- fi
- endchar;
-endfor;
-
-for alpha = 0, 90, 180, 270:
- beginarrow(alpha, 1, ifneg(5/2, 2) * arrow_spread#); "double models (" & decimal alpha & ")";
- z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
- z4 = foot + equal_spread * dir arrow_dir;
- 1/2[z0,z1] = z4;
- 1/2[z2,z3] = head_ex;
-
- draw_line(z0, z2, false);
- draw_line(z1, z3, false);
- draw_line(foot - arrow_spread * dir (arrow_dir + 90), foot + arrow_spread * dir (arrow_dir + 90), true);
- draw_line(z4 - arrow_spread * dir (arrow_dir + 90), z4 + arrow_spread * dir (arrow_dir + 90), true);
-
- if negated:
- stroke_through_arrow(5/8[z4, head], alpha, 5/2arrow_spread)(70, 70, 110, 110, 70, 70, 110, 110);
- fi
- endchar;
-endfor;
-
-if not negated:
- beginarrow(0, 1, 7/4arrow_spread#); "Vvdash";
- s := 7/8arrow_spread;
- z0 = foot + 4/5equal_spread * dir arrow_dir;
- z1 = foot + 8/5equal_spread * dir arrow_dir;
-
- draw_line(z1, head_ex, false);
- draw_line(foot - s * dir (arrow_dir + 90), foot + s * dir (arrow_dir + 90), true);
- draw_line(z0 - s * dir (arrow_dir + 90), z0 + s * dir (arrow_dir + 90), true);
- draw_line(z1 - s * dir (arrow_dir + 90), z1 + s * dir (arrow_dir + 90), true);
- endchar;
-fi
diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/fdbase.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/fdbase.mf
index 7c5b193d3d0..31cc8f69870 100644
--- a/Master/texmf-dist/fonts/source/public/fdsymbol/fdbase.mf
+++ b/Master/texmf-dist/fonts/source/public/fdsymbol/fdbase.mf
@@ -10,7 +10,7 @@ design_size := 10;
font_size design_size * pt#;
if known ps_output:
- font_version := "1.003";
+ font_version := "1.004";
font_comment := "Copyright (c) 2011, Michael Ummels. This Font Software is licensed under the SIL Open Font License, Version 1.1.";
fi
@@ -44,11 +44,12 @@ med_op_size# := 12.5u#; % radius of medium operators
plus_size# := 9u#;
large_op_size# := 18u#; % radius of large operators
order_width# := 8u#; % width of equal sign
+turnstile_width# := 11u#; % width of turnstile symbols
equal_spread# := .7math_axis#; % distance between the lines of the equal sign
greater_spread# := 10/4equal_spread#; % distance between the ends of the greater sign
-arrow_horiz_len# := 12u#; % length of horizontal arrows
-arrow_vert_len# := 3math_axis#; % length of vertical arrows
-arrow_diag_len# := 0.5(arrow_horiz_len# + arrow_vert_len#);
+arrow_horiz_len# := 12.5u#; % length of horizontal arrows
+arrow_vert_len# := 12.5u#; % length of vertical arrows
+arrow_diag_len# := 1/2(arrow_horiz_len# + arrow_vert_len#);
arrow_spread# := 1.6equal_spread#;
delim_height# := 4.9pt#; % half the height of normal delimiters
bigop_height# := 10.7pt#; % height of big operators
@@ -57,7 +58,7 @@ mode_setup;
define_pixels(u, asc_height, cap_height, desc_depth, delim_height, bigop_height, x_height);
define_whole_pixels(dot_size, small_op_size, med_op_size, large_op_size, plus_size,
- order_width, equal_spread, greater_spread,
+ order_width, turnstile_width, equal_spread, greater_spread,
arrow_horiz_len, arrow_vert_len, arrow_diag_len, arrow_spread);
if known ps_output:
@@ -73,6 +74,18 @@ stroke_through_thickness := 9/10line_thickness;
% Macros
+% Redefine clockwise and counterclockwise (turningnumber seems more stable)
+if known ps_output:
+ vardef counterclockwise primary p =
+ (if turningnumber p>0: p else: (reverse p) fi)
+ enddef;
+
+ vardef clockwise primary p =
+ (if turningnumber p<0: p else: (reverse p) fi)
+ enddef;
+fi
+
+% Selects the n-th element of a list
def select(expr n)(text values) =
begingroup;
i := 0;
@@ -85,14 +98,11 @@ def select(expr n)(text values) =
endgroup
enddef;
+% Splits a length at the math axis
def vcentre(expr size) =
size/2 + math_axis#, size/2 - math_axis#
enddef;
-def ocentre(expr size) =
- size/2 + math_axis# + 1/2equal_spread#, size/2 - math_axis# - 1/2equal_spread#
-enddef;
-
current_char := -1;
def beginsymbol(expr width, height, depth) =
@@ -108,11 +118,11 @@ def beginoperator(expr size, ratio) =
beginsymbol(size + 2side_bearing#, vcentre(ratio * size));
pair centre;
centre := (w/2, (h-d)/2);
- radius := w/2 - side_bearing - 1/2line_thickness;
+ radius := w/2 - side_bearing - 1/2line_thickness;
enddef;
def beginbigop(expr xscale, yscale) =
- beginsymbol(xscale * 3/2order_width# + 2side_bearing#, ocentre(yscale * bigop_height#));
+ beginsymbol(xscale * 3/2order_width# + 2side_bearing#, vcentre(yscale * bigop_height#));
pair centre;
centre := (w/2, (h-d)/2);
op_width := xscale * 3/2order_width;
@@ -120,7 +130,7 @@ def beginbigop(expr xscale, yscale) =
enddef;
def beginsquarebigop(expr xscale, yscale) =
- beginsymbol(xscale * bigop_height# + 2side_bearing#, ocentre(yscale * bigop_height#));
+ beginsymbol(xscale * bigop_height# + 2side_bearing#, vcentre(yscale * bigop_height#));
pair centre;
centre := (w/2, (h-d)/2);
op_width := xscale * bigop_height;
@@ -139,8 +149,7 @@ def beginarrow(expr angle, scale, spread) =
else: arrow_diag_len
fi;
- beginsymbol(arrow_len# * abs (cosd (angle)) + (spread + line_thickness#) * abs (sind (angle)) + 2side_bearing#,
- vcentre(arrow_len# * abs (sind (angle)) + (spread + line_thickness#) * abs (cosd (angle))));
+ beginsymbol(arrow_len# * abs(cosd(angle)) + (spread + line_thickness#) * abs(sind(angle)) + 2side_bearing#, vcentre(arrow_len# * abs(sind(angle)) + (spread + line_thickness#) * abs(cosd(angle))));
pair centre, head, head_ex, foot, foot_ex;
centre := (w/2, (h-d)/2);
@@ -148,7 +157,6 @@ def beginarrow(expr angle, scale, spread) =
head_ex := centre + arrow_len/2 * dir angle;
foot := centre - (arrow_len - line_thickness)/2 * dir angle;
foot_ex := centre - arrow_len/2 * dir angle;
- arrow_dir := angle;
enddef;
def beginorder(expr sign, width, spread) =
@@ -161,7 +169,21 @@ def beginorder(expr sign, width, spread) =
right_point := centre + sign * (w/2 - side_bearing - line_thickness/2) * right;
enddef;
-% Make strokes run anti-clockwise
+def beginturnstile(expr angle, scale) =
+ beginsymbol(abs(sind(angle) + scale * cosd(angle)) * turnstile_width# + 2side_bearing#, abs(min(scale, 1 + (scale - 1)/2) * sind(angle) + cosd(angle)) * cap_height#, abs(max(0, (scale - 1)/2) * sind(angle)) * cap_height#);
+ pair foot;
+
+ if angle mod 180 = 0:
+ len := scale * turnstile_width;
+ spread := cap_height - line_thickness;
+ else:
+ len := scale * cap_height;
+ spread := turnstile_width - line_thickness;;
+ fi
+ foot = (w/2, (h - d)/2) - (len - line_thickness)/2 * dir angle;
+enddef;
+
+% Strokes a pen path
vardef stroke text t =
forsuffixes e = l, r:
path_.e := t;
@@ -438,8 +460,8 @@ enddef;
def stroke_through_arrow(expr pos, alpha, spread)(text angles) =
begingroup;
- stroke_dir := arrow_dir + select(alpha/45)(angles);
- stroke_len := 1/2spread / sind (stroke_dir - arrow_dir);
+ stroke_dir := alpha + select(alpha / 45)(angles);
+ stroke_len := 1/2spread / sind (stroke_dir - alpha);
draw_straight(pos + stroke_len * dir stroke_dir, pos - stroke_len * dir stroke_dir, stroke_through_thickness, true);
endgroup;
diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/fddelims.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/fddelims.mf
index 36c24dfcf75..8c33b047404 100644
--- a/Master/texmf-dist/fonts/source/public/fdsymbol/fddelims.mf
+++ b/Master/texmf-dist/fonts/source/public/fdsymbol/fddelims.mf
@@ -398,7 +398,7 @@ for negated = false, true:
draw_line(z0, z1, false);
draw_line(z2, z3, false);
- if negated:
+ if negated:
if scale < 1: theta := 30; else: theta := 45; fi
len := 1/2(7u + floor scale * u + line_thickness) / cosd theta;
pair centre;
diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/fdgeometric.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/fdgeometric.mf
index c05479436f5..32ac2f122db 100644
--- a/Master/texmf-dist/fonts/source/public/fdsymbol/fdgeometric.mf
+++ b/Master/texmf-dist/fonts/source/public/fdsymbol/fdgeometric.mf
@@ -88,26 +88,6 @@ beginoperator(plus_size#, 1); "times";
draw_line(centre + r * dir 135, centre + r * dir 315, true);
endchar;
-beginoperator(plus_size#, 1.25); "plus minus";
- centre := centre + 0.125plus_size * up;
- pair bt;
- bt := centre + (radius + 0.25plus_size) * down;
-
- draw_line(centre + radius * right, centre + radius * left, true);
- draw_line(centre + radius * up, centre + radius * down, true);
- draw_line(bt + radius * right, bt + radius * left, true);
-endchar;
-
-beginoperator(plus_size#, 1.25); "minus plus";
- centre := centre + 0.125plus_size * down;
- pair tp;
- tp := centre + (radius + 0.25plus_size) * up;
-
- draw_line(centre + radius * right, centre + radius * left, true);
- draw_line(centre + radius * up, centre + radius * down, true);
- draw_line(tp + radius * right, tp + radius * left, true);
-endchar;
-
for angle = 0, 180:
beginoperator(plus_size#, 1); "dot minus (" & decimal angle & ")";
draw_line(centre - radius * dir angle, centre + radius * dir angle, true);
@@ -115,6 +95,12 @@ for angle = 0, 180:
endchar;
endfor;
+beginoperator(plus_size#, 1); "divide";
+ draw_line(centre + radius * right, centre + radius * left, true);
+ fill dot(centre + equal_spread * up, 3/4dot_size);
+ fill dot(centre + equal_spread * down, 3/4dot_size);
+endchar;
+
for sign = 1, -1:
beginoperator(plus_size#, 1); "minus with two dots";
draw_line(centre + radius * right, centre + radius * left, true);
@@ -131,8 +117,58 @@ beginoperator(plus_size#, 1); "minus with four dots";
fill dot(centre + (radius - 3/4dot_size) * right + equal_spread * down, 3/4dot_size);
endchar;
-beginoperator(plus_size#, 1); "divide";
+for angle = 0, 180:
+ beginoperator(plus_size#, 1.25); "plus minus (" & decimal angle & ")";
+ centre := centre + 0.125plus_size * dir (angle + 90);
+ pair bt;
+ bt := centre + (radius + 0.25plus_size) * dir (angle - 90);
+
+ draw_line(centre + radius * right, centre + radius * left, true);
+ draw_line(centre + radius * up, centre + radius * down, true);
+ draw_line(bt + radius * right, bt + radius * left, true);
+ endchar;
+endfor;
+
+for angle = 0, 180:
+ beginoperator(plus_size#, 1.25); "dot plus (" & decimal angle & ")";
+ centre := centre + 0.125plus_size * dir (angle - 90);
+ pair tp;
+ tp := centre + (radius + 0.25plus_size) * dir (angle + 90);
+
+ draw_line(centre + radius * right, centre + radius * left, true);
+ draw_line(centre + radius * up, centre + radius * down, true);
+ fill dot(tp, 3/4dot_size);
+ endchar;
+endfor;
+
+beginoperator(plus_size#, 1.25); "dot times";
+ centre := centre + 0.125plus_size * down;
+ pair tp;
+ tp := centre + (radius + 0.2plus_size) * up;
+ r := 4/3radius;
+
+ draw_line(centre + r * dir 45, centre + r * dir 225, true);
+ draw_line(centre + r * dir 135, centre + r * dir 315, true);
+ fill dot(tp, 3/4dot_size);
+endchar;
+
+beginoperator(plus_size#, 1.25); "times bar";
+ centre := centre + 0.125plus_size * up;
+ pair bt;
+ bt := centre + (radius + 0.25plus_size) * down;
+ r := 4/3radius;
+
+ draw_line(centre + r * dir 45, centre + r * dir 225, true);
+ draw_line(centre + r * dir 135, centre + r * dir 315, true);
+ draw_line(bt + radius * right, bt + radius * left, true);
+endchar;
+
+beginoperator(plus_size#, 1); "divide on times";
+ r := 4/3radius;
+
draw_line(centre + radius * right, centre + radius * left, true);
+ draw_line(centre + r * dir 45, centre + r * dir 225, true);
+ draw_line(centre + r * dir 135, centre + r * dir 315, true);
fill dot(centre + equal_spread * up, 3/4dot_size);
fill dot(centre + equal_spread * down, 3/4dot_size);
endchar;
@@ -268,19 +304,26 @@ for sign = 1, -1:
endfor;
for sign = 1, -1:
- beginoperator(plus_size#, 1); "curly wedge dot";
- draw_prec(a, centre + sign * plus_size/2 * up, centre - sign * plus_size/2 * up, 2radius, line_thickness, false);
- fill dot(1/2[z1a.l,z0a.r] + sign * 3/4dot_size * up, 3/4dot_size);
+ beginoperator(plus_size#, 1.25); "bar wedge";
+ centre := centre - sign * 0.125plus_size * up;
+ pair tp;
+ tp := centre + sign * (radius + 0.25plus_size) * up;
+
+ draw_less(a, centre + sign * plus_size/2 * up, centre - sign * plus_size/2 * up, 2radius, line_thickness, false);
+ draw_line(tp + radius * left, tp + radius * right, true);
endchar;
endfor;
for sign = 1, -1:
- beginsymbol(13/9plus_size# + 2side_bearing#, vcentre(plus_size#)); "double curly wedge";
- 1/2[z0,z1] = (w/2, (h-d)/2);
- z1 - z0 = 4/9plus_size * right;
+ beginoperator(plus_size#, 1.5); "double bar wedge";
+ centre := centre - sign * 0.25plus_size * up;
+ pair tpa, tpb;
+ tpa := centre + sign * (radius + 0.25plus_size) * up;
+ tpb := centre + sign * (radius + 0.5plus_size) * up;
- draw_prec(a, z0 + sign * plus_size/2 * up, z0 - sign * plus_size/2 * up, 2radius, line_thickness, false);
- draw_prec(b, z1 + sign * plus_size/2 * up, z1 - sign * plus_size/2 * up, 2radius, line_thickness, false);
+ draw_less(a, centre + sign * plus_size/2 * up, centre - sign * plus_size/2 * up, 2radius, line_thickness, false);
+ draw_line(tpa + radius * left, tpa + radius * right, true);
+ draw_line(tpb + radius * left, tpb + radius * right, true);
endchar;
endfor;
@@ -1018,30 +1061,16 @@ beginsymbol(equal_spread# + line_thickness# + 2side_bearing#, vcentre(med_op_siz
draw_smile(b, -1, z1 - r * up, z1 + r * up, equal_spread, line_thickness, true);
endchar;
-beginsymbol(11/5equal_spread# + line_thickness# + 2side_bearing#, vcentre(med_op_size#)); "reversed between";
- pair centre;
- centre := (w/2, (h-d)/2);
- r := med_op_size/2;
+beginsymbol(2equal_spread# + 2side_bearing#, x_height#, desc_depth#); "intercalate";
+ z1 - z0 = z3 - z2 = (2equal_spread - line_thickness) * right;
+ z2 - z0 = (h + d - line_thickness) * up;
- z0 = centre + 3/4equal_spread * right;
- z1 = centre - 3/4equal_spread * right;
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = (w/2, (h-d)/2);
- draw_smile(a, -1, z0 - r * up, z0 + r * up, 2/3equal_spread, line_thickness, true);
- draw_smile(b, 1, z1 - r * up, z1 + r * up, 2/3equal_spread, line_thickness, true);
+ draw_line(z2, z3, true);
+ draw_line(1/2[z0,z1], 1/2[z2,z3], true);
endchar;
-for sign = 1, -1:
- beginsymbol(order_width# + 2side_bearing#, cap_height#, 0); "top";
- z1 - z0 = z3 - z2 = (order_width - line_thickness) * right;
- z2 - z0 = sign * (cap_height - line_thickness) * up;
-
- 1/2[1/2[z0,z1], 1/2[z2,z3]] = (w/2, (h-d)/2);
-
- draw_line(z2, z3, true);
- draw_line(1/2[z0,z1], 1/2[z2,z3], true);
- endchar;
-endfor;
-
beginsymbol(2/3equal_spread# + line_thickness# + 2side_bearing#, vcentre(plus_size#)); "wreath";
pair centre;
centre := (w/2, (h-d)/2);
@@ -1330,7 +1359,7 @@ for filled = false, true:
z6 = z1'r + whatever * dir (270-45);
z7 = z0 + thick * dir 20;
z8 = z0 + thick * dir (180-20);
- p1 = z7{dir (90+35)} .. {dir 90}z2r;
+ p1 = z7{dir (90+35)} .. {dir 90}z2r;
p2 = z3r{dir 270} .. {dir (270-35)}z8;
(t1,t2) = p1 intersectiontimes p2;
diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/fdoperators.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/fdoperators.mf
index 3ea67622d4a..9e7b8da4b07 100644
--- a/Master/texmf-dist/fonts/source/public/fdsymbol/fdoperators.mf
+++ b/Master/texmf-dist/fonts/source/public/fdsymbol/fdoperators.mf
@@ -69,33 +69,8 @@ endfor;
for sign = 1, -1:
for scale = 1, 1.4:
- beginbigop(scale, scale); "big curly wedge dot";
- draw_prec(a, centre + sign * op_height/2 * up, centre - sign * op_height/2 * up, op_width - line_thickness, line_thickness, false);
- fill dot(centre - sign * 3/8op_height * up, dot_size);
- endchar;
- endfor;
- charlist current_char - 1: current_char;
-endfor;
-
-for sign = 1, -1:
- for scale = 1, 1.4:
- beginbigop(4/3scale, scale); "double big curly wedge";
- z0 = centre - 1/8op_width * right;
- z1 = centre + 1/8op_width * right;
-
- draw_prec(a, z0 + sign * op_height/2 * up, z0 - sign * op_height/2 * up, 3/4op_width - line_thickness, line_thickness, false);
- draw_prec(b, z1 + sign * op_height/2 * up, z1 - sign * op_height/2 * up, 3/4op_width - line_thickness, line_thickness, false);
- endchar;
- endfor;
- charlist current_char - 1: current_char;
-endfor;
-
-for sign = 1, -1:
- for scale = 1, 1.4:
beginbigop(scale, scale); "big union";
- draw_subset(a, centre + sign * op_height/2 * up,
- centre - sign * op_height/2 * up,
- op_width - line_thickness, line_thickness);
+ draw_subset(a, centre + sign * op_height/2 * up, centre - sign * op_height/2 * up, op_width - line_thickness, line_thickness);
endchar;
endfor;
charlist current_char - 1: current_char;
@@ -104,9 +79,7 @@ endfor;
for sign = 1, -1:
for scale = 1, 1.4:
beginbigop(scale, scale); "big union dot";
- draw_subset(a, centre + sign * op_height/2 * up,
- centre - sign * op_height/2 * up,
- op_width - line_thickness, line_thickness);
+ draw_subset(a, centre + sign * op_height/2 * up, centre - sign * op_height/2 * up, op_width - line_thickness, line_thickness);
fill dot(centre - sign * 1/8op_height * up, dot_size);
endchar;
endfor;
@@ -116,9 +89,7 @@ endfor;
for sign = 1, -1:
for scale = 1, 1.4:
beginbigop(scale, scale); "big union plus";
- draw_subset(a, centre + sign * op_height/2 * up,
- centre - sign * op_height/2 * up,
- op_width - line_thickness, line_thickness);
+ draw_subset(a, centre + sign * op_height/2 * up, centre - sign * op_height/2 * up, op_width - line_thickness, line_thickness);
r := 1/4op_width;
@@ -167,7 +138,7 @@ for sign = 1, -1:
z1 - z0 = sign * (op_height - line_thickness) * up;
1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
- draw_line(z0, z1, true);
+ draw_line(z0, z1, true);
draw_line(z1, z2, true);
draw_line(z2, z3, true);
@@ -262,14 +233,13 @@ charlist current_char - 1: current_char;
for number = 0, 1, 2, 3:
for scale = 1, 1.8:
- beginsymbol(scale * (5number + 4) * u# + (sqrt scale) * 3/4line_thickness# + 2side_bearing#, ((scale - 1)/2 + 1) * 1.6asc_height#, (scale - 1)/2 * 1.6asc_height#); "integral";
+ beginsymbol(scale * (5number + 4) * u# + (sqrt scale) * 3/4line_thickness# + 2side_bearing#, vcentre(scale * 1.6asc_height#)); "integral";
italcorr scale * 3u# - (sqrt scale) * 3/4line_thickness#; % kerning between upper limit and lower limit
pair centre;
for i = 0 upto number:
centre := (side_bearing + scale * (5i + 7/2) * u, (h - d)/2);
-
draw_integral([i])(scale, centre, 3/2line_thickness * sqrt sqrt scale);
endfor;
endchar;
@@ -278,7 +248,7 @@ for number = 0, 1, 2, 3:
endfor;
for scale = 1, 1.8:
- beginsymbol(scale * 9u# + 4(equal_spread# + dot_size#) + (sqrt scale) * 3/4line_thickness# + 2side_bearing#, ((scale - 1)/2 + 1) * 1.6asc_height#, (scale - 1)/2 * 1.6asc_height#); "integral dots";
+ beginsymbol(scale * 9u# + 4(equal_spread# + dot_size#) + (sqrt scale) * 3/4line_thickness# + 2side_bearing#, vcentre(scale * 1.6asc_height#)); "integral dots";
italcorr scale * 3u# - (sqrt scale) * 3/4line_thickness#; % kerning between upper limit and lower limit
pair centre;
@@ -303,8 +273,8 @@ charlist current_char - 1: current_char;
for sign = 1, -1:
for scale = 1, 1.8:
- beginsymbol(scale * 6u# + if scale > 1: (sqrt scale) * 3/4line_thickness# else: scale * 3u# fi + 2side_bearing#, ((scale - 1)/2 + 1) * 1.6asc_height#, (scale - 1)/2 * 1.6asc_height#); "oriented integral";
- if scale > 1:
+ beginsymbol(scale * 6u# + if scale > 1: (sqrt scale) * 3/4line_thickness# else: scale * 3u# fi + 2side_bearing#, vcentre(scale * 1.6asc_height#)); "oriented integral";
+ if scale > 1:
italcorr scale * 3u# - (sqrt scale) * 3/4line_thickness#; % kerning between upper limit and lower limit
fi
@@ -339,7 +309,7 @@ for sign = 1, -1:
endfor;
for scale = 1, 1.8:
- beginsymbol(scale * 4u# + if scale > 1: (sqrt scale) * 3/4line_thickness# else: scale * 3u# fi + 2side_bearing#, ((scale - 1)/2 + 1) * 1.6asc_height#, (scale - 1)/2 * 1.6asc_height#); "integral with horizontal bar";
+ beginsymbol(scale * 4u# + if scale > 1: (sqrt scale) * 3/4line_thickness# else: scale * 3u# fi + 2side_bearing#, vcentre(scale * 1.6asc_height#)); "integral with horizontal bar";
if scale > 1:
italcorr scale * 3u# - (sqrt scale) * 3/4line_thickness#; % kerning between upper limit and lower limit
fi
@@ -358,7 +328,7 @@ endfor;
charlist current_char - 1: current_char;
for scale = 1, 1.8:
- beginsymbol(scale * 4u# + if scale > 1: (sqrt scale) * 3/4line_thickness# else: scale * 3u# fi + 2side_bearing#, ((scale - 1)/2 + 1) * 1.6asc_height#, (scale - 1)/2 * 1.6asc_height#); "integral with double horizontal bar";
+ beginsymbol(scale * 4u# + if scale > 1: (sqrt scale) * 3/4line_thickness# else: scale * 3u# fi + 2side_bearing#, vcentre(scale * 1.6asc_height#)); "integral with double horizontal bar";
if scale > 1:
italcorr scale * 3u# - (sqrt scale) * 3/4line_thickness#; % kerning between upper limit and lower limit
fi
@@ -381,7 +351,7 @@ endfor;
charlist current_char - 1: current_char;
for scale = 1, 1.8:
- beginsymbol(scale * 4u# + (sqrt scale) * 3/4line_thickness# + 2side_bearing#, ((scale - 1)/2 + 1) * 1.6asc_height#, (scale - 1)/2 * 1.6asc_height#); "stroked integral";
+ beginsymbol(scale * 4u# + (sqrt scale) * 3/4line_thickness# + 2side_bearing#, vcentre(scale * 1.6asc_height#)); "stroked integral";
italcorr scale * 3u# - (sqrt scale) * 3/4line_thickness#; % kerning between upper limit and lower limit
pair centre;
@@ -399,7 +369,7 @@ charlist current_char - 1: current_char;
for number = 0, 1, 2:
for scale = 1, 1.8:
- beginsymbol(scale * (5number + 5) * u# + if scale > 1: (sqrt scale) * 3/4line_thickness# else: scale * 3u# fi + 2side_bearing#, ((scale - 1)/2 + 1) * 1.6asc_height#, (scale - 1)/2 * 1.6asc_height#); "contour integral";
+ beginsymbol(scale * (5number + 5) * u# + if scale > 1: (sqrt scale) * 3/4line_thickness# else: scale * 3u# fi + 2side_bearing#, vcentre(scale * 1.6asc_height#)); "contour integral";
if scale > 1:
italcorr scale * 3u# - (sqrt scale) * 3/4line_thickness#; % kerning between upper limit and lower limit
fi
@@ -420,9 +390,8 @@ for number = 0, 1, 2:
fi
% Integral must come after unfill when processed with MetaPost!
- for i = 0 upto number:
+ for i = 0 upto number:
centre := (side_bearing + scale * (5i + 4) * u, (h - d)/2);
-
draw_integral([i])(scale, centre, 3/2line_thickness * sqrt sqrt scale);
endfor;
endchar;
@@ -433,10 +402,10 @@ endfor;
for alpha = 0, 180:
for sign = 1, -1:
for scale = 1, 1.8:
- beginsymbol(scale * 6u# + if scale > 1: (sqrt scale) * 3/4line_thickness# else: scale * 3u# fi + 2side_bearing#, ((scale - 1)/2 + 1) * 1.6asc_height#, (scale - 1)/2 * 1.6asc_height#); "oriented contour integral";
+ beginsymbol(scale * 6u# + if scale > 1: (sqrt scale) * 3/4line_thickness# else: scale * 3u# fi + 2side_bearing#, vcentre(scale * 1.6asc_height#)); "oriented contour integral";
if scale > 1:
- italcorr scale * 3u# - (sqrt scale) * 3/4line_thickness#; % kerning between upper limit and lower limit
- fi
+ italcorr scale * 3u# - (sqrt scale) * 3/4line_thickness#; % kerning between upper limit and lower limit
+ fi
pair centre;
centre := (side_bearing + scale * (4u + if alpha > 90: u else: 0 fi), (h - d)/2);
@@ -465,7 +434,7 @@ for alpha = 0, 180:
endfor;
for scale = 1, 1.8:
- beginsymbol(scale * 13/2u# + if scale > 1: 0 else: scale * u# fi + 2side_bearing#, ((scale - 1)/2 + 1) * 1.6asc_height#, (scale - 1)/2 * 1.6asc_height#); "sum integral";
+ beginsymbol(scale * 13/2u# + if scale > 1: 0 else: scale * u# fi + 2side_bearing#, vcentre(scale * 1.6asc_height#)); "sum integral";
if scale > 1:
italcorr scale * u#; % kerning between upper limit and lower limit
fi
diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/fdrelations.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/fdrelations.mf
index 5a8bc3b418b..01940430e0f 100644
--- a/Master/texmf-dist/fonts/source/public/fdsymbol/fdrelations.mf
+++ b/Master/texmf-dist/fonts/source/public/fdsymbol/fdrelations.mf
@@ -66,7 +66,7 @@ fi;
if negated < 2:
beginorder(1, order_width#, ifneg(5/2,7/2) * equal_spread#); "triple sim";
- s := equal_spread;
+ s := equal_spread;
draw_sim(a, left_ex + s * up, right_ex + s * up, 1/4equal_spread, line_thickness);
draw_sim(b, left_ex, right_ex, 1/4equal_spread, line_thickness);
@@ -159,8 +159,8 @@ if negated < 2:
beginorder(1, order_width#, ifneg(4/2,7/2) * equal_spread# + ifneg(1,0) * 2/5order_width#); "bump over equal";
s := equal_spread;
- draw_bump(a, 1, left_ex + s * up, right_ex + s * up, order_width/5, line_thickness);
- draw_line(left_ex, right_ex, false);
+ draw_bump(a, 1, left_ex + s * up, right_ex + s * up, order_width/5, line_thickness);
+ draw_line(left_ex, right_ex, false);
draw_line(left_ex - s * up, right_ex - s * up, false);
if negated = 1:
@@ -242,6 +242,21 @@ if negated < 2:
endfor;
fi;
+if negated < 1:
+ for sign = 1, -1:
+ beginorder(sign, 4/3order_width# + 3/4dot_size#, equal_spread# + dot_size#); "colon equal";
+ s := 1/2equal_spread;
+ pair left_sep;
+ left_sep := left_ex + sign * (3/4dot_size + 1/3order_width) * right;
+
+ fill dot(left_ex + s * up + sign * 3/4dot_size * right, 3/4dot_size);
+ fill dot(left_ex - s * up + sign * 3/4dot_size * right, 3/4dot_size);
+ draw_line(left_sep + s * up, right_ex + s * up, false);
+ draw_line(left_sep - s * up, right_ex - s * up, false);
+ endchar;
+ endfor;
+fi;
+
if negated < 2:
for sign = 1, -1:
beginorder(1, order_width#, ifneg(1/2,5/2) * equal_spread#); "smile";
@@ -335,7 +350,7 @@ if negated < 2:
s := 1/2equal_spread;
r := 5/4s + 3/4line_thickness;
t := 1/11r;
-
+
reg_poly_points(a)(5, centre + 7/2s * up, r, 90);
reg_poly_points(b)(5, centre + 7/2s * up, .4r, 126);
@@ -408,7 +423,7 @@ if negated < 3:
if negated = 1:
stroke_through(centre, 6/3equal_spread + 3/4greater_spread);
elseif negated = 2:
- stroke_through(1/2[z2,z3], equal_spread);
+ stroke_through(1/2[z2,z3], equal_spread);
fi;
endchar;
endfor;
@@ -542,7 +557,7 @@ if negated < 2:
endfor;
fi;
-if negated < 3:
+if negated < 2:
for sign = 1, -1:
beginorder(sign, order_width#, ifneg(7/3,17/6 + 1/2sign, 7/3) * equal_spread# + 3/2greater_spread#); "less double equal greater";
s := 3/4greater_spread;
@@ -556,8 +571,6 @@ if negated < 3:
if negated = 1:
stroke_through(centre, (17/6 + 1/2sign) * equal_spread + 2s);
- elseif negated = 2:
- stroke_through(centre, 2equal_spread);
fi;
endchar;
endfor;
@@ -667,7 +680,7 @@ if negated < 2:
fill stroke z4.e{dir (theta - 90)} .. {dir(-theta - 90)}z5.e;
- if negated = 1:
+ if negated = 1:
stroke_through(centre, equal_spread + greater_spread);
fi;
endchar;
@@ -678,8 +691,8 @@ if negated < 2:
for sign = 1, -1:
beginorder(sign, order_width# * sqrt(7/6), ifneg(1,2) * equal_spread# + 3/4greater_spread#); "round less than or slanted equal";
thick := line_thickness;
- s := 3/4greater_spread;
- t := 1/2equal_spread;
+ s := 3/4greater_spread;
+ t := 1/2equal_spread;
z0 = left_ex + t * up;
z1 = z0 + order_width * dir angle(right_ex - left_ex);
@@ -696,13 +709,13 @@ if negated < 2:
fill stroke z4.e{dir (theta - 90)} .. {dir(-theta - 90)}z5.e;
- if sign = 1:
- draw_line(z1a - 2t * up, z4a - 2t * up, false);
- else:
- draw_line(z0a - 2t * up, z3a - 2t * up, false);
- fi;
+ if sign = 1:
+ draw_line(z1a - 2t * up, z4a - 2t * up, false);
+ else:
+ draw_line(z0a - 2t * up, z3a - 2t * up, false);
+ fi;
- if negated = 1:
+ if negated = 1:
stroke_through(centre, 2equal_spread + 3/4greater_spread);
fi;
endchar;
@@ -738,7 +751,7 @@ if negated < 3:
draw_line(z0' + s/2 * up, z0' - s/2 * up, false);
draw_line(z2, z3, false);
- if negated = 1:
+ if negated = 1:
stroke_through(centre, 5/2equal_spread + s);
elseif negated = 2:
stroke_through(1/2[z2,z3] + 1/2equal_spread * up, 2equal_spread);
@@ -945,7 +958,7 @@ if negated < 3:
beginorder(sign, order_width#, ifneg(5/3,8/3,8/3) * equal_spread# + 3/4greater_spread#); "curly less than or double equal";
s := 3/4greater_spread;
- z0 - z2 = z1 - z3 = (2/3equal_spread + s/2) * up;
+ z0 - z2 = z1 - z3 = (2/3equal_spread + s/2) * up;
z0 - left_ex = z1 - right_ex = 5/6equal_spread * up;
z2 - z4 = z3 - z5 = equal_spread * up;
@@ -953,7 +966,7 @@ if negated < 3:
draw_line(z2, z3, false);
draw_line(z4, z5, false);
- if negated = 1:
+ if negated = 1:
stroke_through(centre, 8/3equal_spread + 3/4greater_spread);
elseif negated = 2:
stroke_through(1/2[1/2[z2,z3], 1/2[z4,z5]], 2equal_spread);
@@ -1072,7 +1085,7 @@ if negated < 2:
for sign = 1, -1:
beginorder(sign, order_width#, ifneg(1,2) * equal_spread# + 3/4greater_spread#); "slanted equal or less than";
s := 3/4greater_spread;
- t := 1/2equal_spread;
+ t := 1/2equal_spread;
draw_less(a, left_ex - t * up, right_ex - t * up, s, line_thickness, false);
@@ -1092,7 +1105,7 @@ fi
if negated < 2:
for sign = 1, -1:
beginorder(sign, order_width#, ifneg(1,2) * equal_spread# + 3/4greater_spread#); "curly equal or curly less than";
- s := 3/4greater_spread;
+ s := 3/4greater_spread;
z0 - z2 = -equal_spread * up;
z1 - z3 = -(7/5equal_spread + s/2) * up;
diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/fdturnstile.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/fdturnstile.mf
new file mode 100644
index 00000000000..5e0031ffa7d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/fdsymbol/fdturnstile.mf
@@ -0,0 +1,102 @@
+%
+% Copyright (c) 2011, Michael Ummels <michael.ummels@rwth-aachen.de>
+%
+% This Font Software is licensed under the SIL Open Font License,
+% Version 1.1. This license is in the accompanying file OFL.txt, and
+% is also available with a FAQ at: http://scripts.sil.org/OFL
+%
+
+for factor = 1, 7/10:
+ for alpha = 0, 90, 180, 270:
+ beginturnstile(alpha, factor); "turnstile (" & decimal alpha & ")";
+ draw_line(foot, foot + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(foot + 1/2len * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+ endfor;
+endfor;
+
+for factor = 1, 7/10:
+ for alpha = 0, 90, 180, 270:
+ beginturnstile(alpha, factor); "double turnstile (" & decimal alpha & ")";
+ z1 - z0 = equal_spread * dir (alpha + 90);
+ 1/2[z0,z1] = foot;
+
+ draw_line(z0, z0 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(z1, z1 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(foot + 1/2len * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+ endfor;
+endfor;
+
+for factor = 13/10, 1:
+ for alpha = 0, 90, 180, 270:
+ beginturnstile(alpha, factor); "bar with turnstile (" & decimal alpha & ")";
+ z0 = foot + 3/10turnstile_width * dir alpha;
+
+ draw_line(z0, foot + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+ draw_line(z0 - spread/2 * dir (alpha + 90), z0 + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(z0 + 1/2(len - 3/10turnstile_width) * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+ endfor;
+endfor;
+
+for alpha = 0, 90, 180, 270:
+ beginturnstile(alpha, 13/10); "bar with double turnstile (" & decimal alpha & ")";
+ z0 = foot + 3/10turnstile_width * dir alpha;
+ z2 - z1 = z4 - z3 = equal_spread * dir (alpha + 90);
+ 1/2[z1,z2] = foot;
+ 1/2[z3,z4] = z0;
+
+ draw_line(z3, z1 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(z4, z2 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+ draw_line(z0 - spread/2 * dir (alpha + 90), z0 + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(z0 + 1/2(len - 3/10turnstile_width) * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 180:
+ beginturnstile(alpha, 13/10); "double bar with turnstile (" & decimal alpha & ")";
+ z0 = foot + 3/10turnstile_width * dir alpha;
+ z1 = z0 + 3/10turnstile_width * dir alpha;
+
+ draw_line(z1, foot + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+ draw_line(z0 - spread/2 * dir (alpha + 90), z0 + spread/2 * dir (alpha + 90), true);
+ draw_line(z1 - spread/2 * dir (alpha + 90), z1 + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(z1 + 1/2(len - 3/5turnstile_width) * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 180:
+ beginturnstile(alpha, 1); "triple turnstile (" & decimal alpha & ")";
+ z0 - foot = foot - z1 = equal_spread * dir (alpha + 90);
+
+ draw_line(z0, z0 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot, foot + (len - line_thickness/2) * dir alpha, false);
+ draw_line(z1, z1 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(foot + 1/2len * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+endfor;
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Bold.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Bold.tfm
index eb8a41c805e..271407deee9 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Bold.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Bold.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Book.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Book.tfm
index 80644d45b26..da7b34c2591 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Book.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Book.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Medium.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Medium.tfm
index d192277218e..4632c6e971e 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Medium.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Medium.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Regular.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Regular.tfm
index 62642966d12..7eb7a3bf04d 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Regular.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolA-Regular.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Bold.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Bold.tfm
index 16ccc602d71..20061c8c7be 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Bold.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Bold.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Book.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Book.tfm
index 3b17ffff1b7..f511430f99d 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Book.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Book.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Medium.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Medium.tfm
index 39612aaf333..2137a2c8157 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Medium.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Medium.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Regular.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Regular.tfm
index c6de9b0339c..ab3c0d5f5ac 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Regular.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolB-Regular.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Bold.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Bold.tfm
index 349d31377c0..ea80ad24adf 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Bold.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Bold.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Book.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Book.tfm
index 944e5601875..5526d0f9a91 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Book.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Book.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Medium.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Medium.tfm
index e1fafe081f2..3361e8333db 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Medium.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Medium.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Regular.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Regular.tfm
index fc4ecaff652..d1a16915245 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Regular.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolC-Regular.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Bold.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Bold.tfm
index 4d37c67c5f1..b66bf98e618 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Bold.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Bold.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Book.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Book.tfm
index 4a46e7e999e..f372ee036ba 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Book.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Book.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Medium.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Medium.tfm
index 35de78bf47d..0e274ffeaed 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Medium.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Medium.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Regular.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Regular.tfm
index 85f7a9f787f..0a38c64b189 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Regular.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolD-Regular.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Bold.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Bold.tfm
index b6aa591f42a..25829d9256e 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Bold.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Bold.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Book.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Book.tfm
index d45446d00a8..2a8aa9e589f 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Book.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Book.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Medium.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Medium.tfm
index 7e7809a7820..59a5aa7b6a8 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Medium.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Medium.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Regular.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Regular.tfm
index 386a1193ad9..e2e0cab8d6d 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Regular.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolE-Regular.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Bold.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Bold.tfm
index 51cdaa863e3..66a026ad512 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Bold.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Bold.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Book.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Book.tfm
index c7de2bd8c34..154a9af0287 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Book.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Book.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Medium.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Medium.tfm
index 3a700fe66ba..271f693f98e 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Medium.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Medium.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Regular.tfm b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Regular.tfm
index 5858e838294..bcc102e9f0b 100644
--- a/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Regular.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/fdsymbol/FdSymbolF-Regular.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Bold.pfb b/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Bold.pfb
index c422e40a61f..6dae7fd361d 100644
--- a/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Bold.pfb
+++ b/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Bold.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Book.pfb b/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Book.pfb
index 26097e45c1c..517571ebea2 100644
--- a/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Book.pfb
+++ b/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Book.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Medium.pfb b/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Medium.pfb
index c46194310d5..9325fc6f4d1 100644
--- a/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Medium.pfb
+++ b/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Medium.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Regular.pfb b/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Regular.pfb
index 63ec13029b0..a19e3c2738a 100644
--- a/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Regular.pfb
+++ b/Master/texmf-dist/fonts/type1/public/fdsymbol/FdSymbol-Regular.pfb
Binary files differ