############################################## # Categorize arrow symbols. # # Author: Scott Pakin # ############################################## # ------------------------ 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|(?