diff options
author | Norbert Preining <norbert@preining.info> | 2024-01-04 03:02:56 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-01-04 03:02:56 +0000 |
commit | c45a0e15a3f74b963e3c2be142de33c8c8f12588 (patch) | |
tree | a7ec0f84bd371896fde6eecb620dfd3d771918ad /info/symbols/comprehensive/source/prune-idx-arrows.toml | |
parent | 92effab22b73c432933e7eb8e12c1cefda221df9 (diff) |
CTAN sync 202401040302
Diffstat (limited to 'info/symbols/comprehensive/source/prune-idx-arrows.toml')
-rw-r--r-- | info/symbols/comprehensive/source/prune-idx-arrows.toml | 494 |
1 files changed, 494 insertions, 0 deletions
diff --git a/info/symbols/comprehensive/source/prune-idx-arrows.toml b/info/symbols/comprehensive/source/prune-idx-arrows.toml new file mode 100644 index 0000000000..24533255e6 --- /dev/null +++ b/info/symbols/comprehensive/source/prune-idx-arrows.toml @@ -0,0 +1,494 @@ +############################################## +# Categorize arrow symbols. # +# Author: Scott Pakin <scott+clsl@pakin.org> # +############################################## + +# ------------------------ early special cases ------------------------- + +[[rewrite]] +contains = "arrow" +render_contains = "blackacc" +item = ["arrow", "accents"] +render = "" + +[[rewrite]] +contains = "threearrows" +item = ["arrow", "three"] + +[[rewrite]] +matches = [ + "envelope with arrow", + "envelope with downwards arrow above" +] +item = ["envelope", "with downward arrow"] + +[[rewrite]] +render_contains = ["{1f519}", "{1F519}"] +item = "BACK with arrow" + +[[rewrite]] +render_contains = ["{1f51a}", "{1F51A}"] +item = "END with arrow" + +[[rewrite]] +render_contains = ["{1f51b}", "{1F51B}"] +item = "ON!! with arrow" + +[[rewrite]] +render_contains = ["{1f51c}", "{1F51C}"] +item = "SOON with arrow" + +[[rewrite]] +render_contains = ["{1f51d}", "{1F51D}"] +item = "TOP with arrow" + +[[rewrite]] +matches = "heart with arrow" +item = ["heart", "with arrow"] + +# ----------------------------- arrowheads ----------------------------- + +[[rewrite]] +matches = "arrowheads" +item = "arrowhead" + +[[rewrite]] +regex = '^outline.*arrow head$' +item = ["arrowhead", "outlined"] + +[[rewrite]] +regex = '^black.*arrow head$' +item = ["arrowhead", "filled"] + +[[rewrite]] +render_contains = '\usym{27A4}' +item = ["arrowhead", "filled"] + +[[rewrite]] +regex = '^white.*arrow head$' +item = ["arrowhead", "hollow"] + +[[rewrite]] +regex = '^dotted.*arrow head$' +item = ["arrowhead", "dotted"] + +[[rewrite]] +compare_lowercase = true +contains = ["arrowhead", "arrowbullet"] +item = ["arrowhead", "half filled"] + +# ----------------------------- non-arrows ----------------------------- + +# This rule should appear early in the arrows section because we're +# *not* categorizing keyboard symbols as arrows. +[[rewrite]] +matches = "UArrow" +item = ["keyboard symbols", "up arrow"] + +# This rule should appear early in the arrows section because we're +# *not* categorizing keyboard symbols as arrows. +[[rewrite]] +matches = "DArrow" +item = ["keyboard symbols", "down arrow"] + +# This rule should appear early in the arrows section because we're +# *not* categorizing keyboard symbols as arrows. +[[rewrite]] +matches = "LArrow" +item = ["keyboard symbols", "left arrow"] + +# This rule should appear early in the arrows section because we're +# *not* categorizing keyboard symbols as arrows. +[[rewrite]] +matches = "RArrow" +item = ["keyboard symbols", "right arrow"] + +[[rewrite]] +matches = "people with arrows" +item = ["people", "with arrows"] + +# This rule ideally belongs in prune-idx-triangles, but arrows are +# processed first so it has to be handled here. +[[rewrite]] +matches = [ + "DOWNarrow", + "LEFTarrow", + "RIGHTarrow", + "UParrow" +] +item = ["triangle", "filled"] + +# This rule ideally belongs in prune-idx-harpoons, but arrows are +# processed first so it has to be handled here. +[[rewrite]] +matches = [ + "left harpoon down arrow", + "left harpoon up arrow", + "right harpoon down arrow", + "right harpoon up arrow" +] +item = "harpoon" + +[[rewrite]] +regex = '^mobile phone with.*arrow' +item = ["cell phone", "with arrow"] + +# ------------------------------- arrows ------------------------------- + +# This rule should precede the following one. +[[rewrite]] +render_contains = '\faArrows*' +item = ["arrow", "crossing, dingbat"] + +# This rule should precede the generic "arrows" rule. +[[rewrite]] +consider_all_entries = true +top_matches = "arrows" +matches = "double-headed, diagonal" +item = ["arrow", "double headed"] + +# This rule should precede the following one. +[[rewrite]] +top_matches = "arrows" +matches = "arrows" +item = ["arrow"] + +[[rewrite]] +top_matches = "arrows" +regex = '^(.+)$' +item = ["arrow", '\1'] + +[[rewrite]] +regex = 'arrow.*arrow' +item = ["arrow", "two"] + +[[rewrite]] +matches = "xtofrom" +item = ["arrow", "two, extensible"] + +# This rule should appear before the following rule. +[[rewrite]] +render_regex = '\\usym\{1F5(0[0-4]|D8)\}' +item = ["arrow", "two, filled"] + +# This rule should appear early in the arrows section. +[[rewrite]] +contains = "arrows" +not_contains = ["curvearrows", "arrowsub", "arrowsup"] +not_render_contains = [ + "faArrows", + "pkgname", + "twemoji" +] +item = ["arrow", "two"] + +# This rule should appear early in the arrows section. +[[rewrite]] +regex = '^(.*)arow(.*)$' +word = '\1arrow\2' +continue = true + +[[rewrite]] +matches = [ + "to", + "gets", + "CAN", + "EM", + "SUB", + "ESC" +] +not_render_contains = '\EOto' +item = "arrow" + +[[rewrite]] +matches = ["nto", "ngets"] +item = ["arrow", "negated"] + +# This rule should precede the following one. +[[rewrite]] +regex = '(LLeft|RRight|UUp|DDown).*arrow' +item = ["arrow", "triple bodied"] + +# This rule should precede the following one. +[[rewrite]] +regex = '(Lleft|Rright|Uup|Ddown).*arrow' +item = ["arrow", "triple bodied"] + +# This rule should precede the following one. +[[rewrite]] +regex = '(Leftright|Updown|Nesw|Nwse|Longleftright).*arrow' +item = ["arrow", "double ended, double bodied"] + +[[rewrite]] +regex = '(Left|Right|Up|Down|Long|Ne|Nw|Se|Sw).*arrow' +item = ["arrow", "double bodied"] + +[[rewrite]] +regex = '(twohead|double).*arrow' +item = ["arrow", "double headed"] + +[[rewrite]] +render_contains = "BParrow" +item = ["arrow", "double tailed"] + +# This rule must precede the generic "heavy.*arrow" rule. +[[rewrite]] +matches = [ + "fgerightarrow", + "wedge-tailed rightwards arrow", + "heavy wedge-tailed rightwards arrow" +] +item = ["arrow", "fletched"] + +[[rewrite]] +regex = 'feathered.*arrow' +item = ["arrow", "fletched"] + +[[rewrite]] +regex = 'shad.*arrow' # "shadowed" or "shaded" +item = ["arrow", "shadowed"] + +[[rewrite]] +contains = "arrowon" +item = ["arrow", "overlaid on a circle"] + +[[rewrite]] +regex = 'circleon.*arrow' +item = ["arrow", "circle centered"] + +[[rewrite]] +compare_lowercase = true +regex = '(hook|hk).*arrow' +item = ["arrow", "hooked"] + +# This rule must precede the "curve...arrow" rule. +[[rewrite]] +matches = [ + "ArrowBoldDownRight", + "ArrowBoldRightShort", + "ArrowBoldUpRight", + "ArrowBoldRightCircled", + "ArrowBoldRightStrobe", + "MVRightArrow", + "heavy black curved downwards and rightwards arrow", + "heavy black curved upwards and rightwards arrow" +] +item = ["arrow", "dingbat"] + +[[rewrite]] +regex = '(curve|(?<!v)arc).*arrow' +item = ["arrow", "curved"] + +[[rewrite]] +matches = ["Lefttorque", "Righttorque"] +item = ["arrow", "curved"] + +[[rewrite]] +compare_lowercase = true +regex = 'loop.*arrow' +item = ["arrow", "looped"] + +[[rewrite]] +regex = 'ov.*arrow' +not_contains = "barover" +item = ["arrow", "crossing"] + +[[rewrite]] +regex = '^to[nsew]a$' +item = ["arrow", "crossing"] + +[[rewrite]] +compare_lowercase = true +regex = 'white.*arrow' +item = ["arrow", "outlined"] + +[[rewrite]] +compare_lowercase = true +regex = 'black.*arrow' +not_matches = "blackcircledownarrow" +item = ["arrow", "filled"] + +[[rewrite]] +compare_lowercase = true +regex = 'zig.*arrow' +item = ["arrow", "zigzagged"] + +[[rewrite]] +compare_lowercase = true +contains = "arrowtriangle" +item = ["arrow", "triangle headed"] + +[[rewrite]] +matches = "triangle-headed rightwards arrow" +item = ["arrow", "triangle headed"] + +[[rewrite]] +contains = 'arrowtail' +item = ["arrow", "with tail"] + +[[rewrite]] +render_contains = [ + '$\curlyveedownarrow$', + '$\curlywedgeuparrow$', + '\BSKcurlywedgedownarrow', + '\BSKcurlywedgeuparrow' +] +item = ["arrow", "joined"] + +[[rewrite]] +render_contains = [ + '$\curlyveeuparrow$', + '$\curlywedgedownarrow$', + '\BSKcurlyveedownarrow', + '\BSKcurlyveeuparrow' +] +item = ["arrow", "forked"] + +[[rewrite]] +render_contains = 'twemoji' +regex = '(up|down|left|right|clockwise).*?\s+arrow' +item = ["arrow", "buttons"] + +[[rewrite]] +compare_lowercase = true +regex = 'ribbon.*arrow' +item = ["arrow", "ribbon"] + +[[rewrite]] +compare_lowercase = true +regex = '(squig|wav[ey]).*arrow' +item = ["arrow", "wavy"] + +[[rewrite]] +matches = ["leadsto", "longleadsto"] +item = ["arrow", "wavy"] + +# This rule must follow the "dashed" rule. +[[rewrite]] +matches = [ + "dashed triangle-headed rightwards arrow", + "heavy dashed triangle-headed rightwards arrow" +] +item = ["arrow", "dingbat"] + +# I think "bk" is short for "broken". +[[rewrite]] +compare_lowercase = true +regex = '(dash|bk).*arrow' +item = ["arrow", "dashed"] + +[[rewrite]] +regex = 'dot.*arrow' +item = ["arrow", "dotted"] + +[[rewrite]] +regex = 'Square.*arrow' +item = ["arrow", "with rectangular body"] + +# This rule must precede the other "circle...arrow" rules. +[[rewrite]] +regex = 'circle(left|right)arrow' +item = ["arrow", "with circular tail"] + +[[rewrite]] +regex = 'Circle.*arrow' +item = ["arrow", "with rounded body"] + +[[rewrite]] +regex = '(circle|lefttoright|righttoleft|uptodown|downtoup).*arrow' +not_contains = ["blackcircledownarrow", "circleon"] +item = ["arrow", "circular"] + +[[rewrite]] +matches = ["leftturn", "rightturn"] +item = ["arrow", "circular"] + +[[rewrite]] +compare_lowercase = true +regex = '^[dlr]+sh$' +item = ["arrow", "bent"] + +[[rewrite]] +contains = "fork arrow" +item = ["arrow", "fork tailed"] + +[[rewrite]] +contains = "fish arrow" +item = ["arrow", "fish headed"] + +[[rewrite]] +regex = '^heavy.*arrow$' +item = ["arrow", "dingbat"] + +[[rewrite]] +matches = [ + "drafting point rightwards arrow", + "open-outlined rightwards arrow", + "teardrop-barbed rightwards arrow" +] +item = ["arrow", "dingbat"] + +[[rewrite]] +matches = [ + "shpos", + "shneg", + "shift for subscripts", + "shift for superscripts" +] +item = ["arrow"] + +[[rewrite]] +matches = [ + "shift", + "shift for accents", + "DCb", + "GS" +] +item = ["arrow", "double ended"] + +[[rewrite]] +matches = "ETB" +item = ["arrow", "double ended, bar under"] + +[[rewrite]] +contains = "flat arrow" +item = ["arrow", "flat"] + +[[rewrite]] +matches = "pointer" +item = ["arrow", "hollow"] + +# Explicitly ignore more non-arrows. +[[rewrite]] +contains = [ + " arrow", # Various emoji arrows + "arrowbullet", + "wheelbarrow" +] + +# This rule should appear late in the arrows section. +[[rewrite]] +compare_lowercase = true +regex = '(updown|downup|leftright|rightleft|(ne|nw|se|sw){2})arrow' +item = ["arrow", "double ended"] + +# This rule should appear late in the arrows section. +[[rewrite]] +compare_lowercase = true +regex = '^n(?!n?[ew]).*(arrow|leadsto)' +item = ["arrow", "negated"] + +# This rule should appear last in the arrows section. +[[rewrite]] +compare_lowercase = true +contains = ["arrow", "textglob"] +not_contains = [ + "geneuronarrow", + "cupleftarrow", + "leftarrowsubset", + "rightarrowsupset" +] +not_regex = '(black|white)(circle|diamond)downarrow' +not_render_contains = ["textsf", "pkgname"] +item = "arrow" +render = 'arrow ($\rightarrow$)' |