def unicode_widens_with_vs16

cli@0.2.0.0 · cli.bend:730

import cli@0.2.0.0/cli.bend as Cli
import Base

730# Unicode 15.1 code points with an emoji presentation sequence (VS16) that
731# are not East Asian Wide or Fullwidth, so VS16 widens them to 2.
732# Sources: https://www.unicode.org/Public/15.1.0/ucd/emoji/emoji-variation-sequences.txt
733# and https://www.unicode.org/Public/15.1.0/ucd/EastAsianWidth.txt
734def unicode_widens_with_vs16(code: U32) -> Bool:
735  contains_range([
736    CodeRange{35, 35},
737    CodeRange{42, 42},
738    CodeRange{48, 57},
739    CodeRange{169, 169},
740    CodeRange{174, 174},
741    CodeRange{8252, 8252},
742    CodeRange{8265, 8265},
743    CodeRange{8482, 8482},
744    CodeRange{8505, 8505},
745    CodeRange{8596, 8601},
746    CodeRange{8617, 8618},
747    CodeRange{9000, 9000},
748    CodeRange{9167, 9167},
749    CodeRange{9197, 9199},
750    CodeRange{9201, 9202},
751    CodeRange{9208, 9210},
752    CodeRange{9410, 9410},
753    CodeRange{9642, 9643},
754    CodeRange{9654, 9654},
755    CodeRange{9664, 9664},
756    CodeRange{9723, 9724},
757    CodeRange{9728, 9732},
758    CodeRange{9742, 9742},
759    CodeRange{9745, 9745},
760    CodeRange{9752, 9752},
761    CodeRange{9757, 9757},
762    CodeRange{9760, 9760},
763    CodeRange{9762, 9763},
764    CodeRange{9766, 9766},
765    CodeRange{9770, 9770},
766    CodeRange{9774, 9775},
767    CodeRange{9784, 9786},
768    CodeRange{9792, 9792},
769    CodeRange{9794, 9794},
770    CodeRange{9823, 9824},
771    CodeRange{9827, 9827},
772    CodeRange{9829, 9830},
773    CodeRange{9832, 9832},
774    CodeRange{9851, 9851},
775    CodeRange{9854, 9854},
776    CodeRange{9874, 9874},
777    CodeRange{9876, 9879},
778    CodeRange{9881, 9881},
779    CodeRange{9883, 9884},
780    CodeRange{9888, 9888},
781    CodeRange{9895, 9895},
782    CodeRange{9904, 9905},
783    CodeRange{9928, 9928},
784    CodeRange{9935, 9935},
785    CodeRange{9937, 9937},
786    CodeRange{9939, 9939},
787    CodeRange{9961, 9961},
788    CodeRange{9968, 9969},
789    CodeRange{9972, 9972},
790    CodeRange{9975, 9977},
791    CodeRange{9986, 9986},
792    CodeRange{9992, 9993},
793    CodeRange{9996, 9997},
794    CodeRange{9999, 9999},
795    CodeRange{10002, 10002},
796    CodeRange{10004, 10004},
797    CodeRange{10006, 10006},
798    CodeRange{10013, 10013},
799    CodeRange{10017, 10017},
800    CodeRange{10035, 10036},
801    CodeRange{10052, 10052},
802    CodeRange{10055, 10055},
803    CodeRange{10083, 10084},
804    CodeRange{10145, 10145},
805    CodeRange{10548, 10549},
806    CodeRange{11013, 11015},
807    CodeRange{127344, 127345},
808    CodeRange{127358, 127359},
809    CodeRange{127777, 127777},
810    CodeRange{127780, 127788},
811    CodeRange{127798, 127798},
812    CodeRange{127869, 127869},
813    CodeRange{127894, 127895},
814    CodeRange{127897, 127899},
815    CodeRange{127902, 127903},
816    CodeRange{127947, 127950},
817    CodeRange{127956, 127967},
818    CodeRange{127987, 127987},
819    CodeRange{127989, 127989},
820    CodeRange{127991, 127991},
821    CodeRange{128063, 128063},
822    CodeRange{128065, 128065},
823    CodeRange{128253, 128253},
824    CodeRange{128329, 128330},
825    CodeRange{128367, 128368},
826    CodeRange{128371, 128377},
827    CodeRange{128391, 128391},
828    CodeRange{128394, 128397},
829    CodeRange{128400, 128400},
830    CodeRange{128421, 128421},
831    CodeRange{128424, 128424},
832    CodeRange{128433, 128434},
833    CodeRange{128444, 128444},
834    CodeRange{128450, 128452},
835    CodeRange{128465, 128467},
836    CodeRange{128476, 128478},
837    CodeRange{128481, 128481},
838    CodeRange{128483, 128483},
839    CodeRange{128488, 128488},
840    CodeRange{128495, 128495},
841    CodeRange{128499, 128499},
842    CodeRange{128506, 128506},
843    CodeRange{128715, 128715},
844    CodeRange{128717, 128719},
845    CodeRange{128736, 128741},
846    CodeRange{128745, 128745},
847    CodeRange{128752, 128752},
848    CodeRange{128755, 128755},
849  ], code)

Uses (5)

Used by (1)