Render any flag pair in two cells not just known ones

This commit is contained in:
Kovid Goyal
2020-04-06 23:00:34 +05:30
parent 6357f7b811
commit 0b9a37139e
3 changed files with 5 additions and 50 deletions

View File

@@ -10,7 +10,7 @@ from contextlib import contextmanager
from datetime import date
from functools import partial
from html.entities import html5
from itertools import groupby, repeat
from itertools import groupby
from operator import itemgetter
from typing import (
Callable, DefaultDict, Dict, FrozenSet, Generator, Iterable, List,
@@ -266,22 +266,6 @@ def gen_emoji() -> None:
p('\t}')
p('\treturn false;\n}')
p('static inline bool is_flag_pair(char_type a, char_type b) {')
p('static const unsigned char flag_combinations[26][26] = {')
for i in range(26):
q = 0x1F1E6 + i
vals = flags.get(q, [])
arr = list(repeat(0, 26))
for x in vals:
idx = x - 0x1F1E6
arr[idx] = 1
comma = '' if i == 0 else ','
p(comma, '{', ', '.join(map(str, arr)), '}')
p('};')
p('if (a < 0x1F1E6 || b < 0x1F1E6 || a >= 0x1F1E6 + 26 || b >= 0x1F1E6 + 26) return false;')
p('return flag_combinations[a - 0x1F1E6][b - 0x1F1E6];')
p('};')
def category_test(
name: str,