| Index: third_party/harfbuzz-ng/src/gen-arabic-joining-table.py
|
| diff --git a/third_party/harfbuzz-ng/src/gen-arabic-joining-table.py b/third_party/harfbuzz-ng/src/gen-arabic-joining-table.py
|
| deleted file mode 100755
|
| index 08e54db75496722ad207d917d048035580e393e4..0000000000000000000000000000000000000000
|
| --- a/third_party/harfbuzz-ng/src/gen-arabic-joining-table.py
|
| +++ /dev/null
|
| @@ -1,83 +0,0 @@
|
| -#!/usr/bin/python
|
| -
|
| -import sys
|
| -
|
| -header = sys.stdin.readline (), sys.stdin.readline ()
|
| -while sys.stdin.readline ().find ('##################') < 0:
|
| - pass
|
| -
|
| -
|
| -print "/* == Start of generated table == */"
|
| -print "/*"
|
| -print " * The following table is generated by running:"
|
| -print " *"
|
| -print " * ./gen-arabic-joining-table.py < ArabicShaping.txt"
|
| -print " *"
|
| -print " * on the ArabicShaping.txt file with the header:"
|
| -print " *"
|
| -for line in header:
|
| - print " * %s" % (line.strip())
|
| -print " */"
|
| -
|
| -print "static const uint8_t joining_table[] ="
|
| -print "{"
|
| -
|
| -
|
| -min_u = 0x110000
|
| -max_u = 0
|
| -num = 0
|
| -last = -1
|
| -block = ''
|
| -for line in sys.stdin:
|
| -
|
| - if line[0] == '#':
|
| - if line.find (" characters"):
|
| - block = line[2:].strip ()
|
| - continue
|
| -
|
| - fields = [x.strip () for x in line.split (';')]
|
| - if len (fields) == 1:
|
| - continue
|
| -
|
| - u = int (fields[0], 16)
|
| - if u == 0x200C or u == 0x200D:
|
| - continue
|
| - if u < last:
|
| - raise Exception ("Input data character not sorted", u)
|
| - min_u = min (min_u, u)
|
| - max_u = max (max_u, u)
|
| - num += 1
|
| -
|
| - if block:
|
| - print "\n /* %s */\n" % block
|
| - block = ''
|
| -
|
| - if last != -1:
|
| - last += 1
|
| - while last < u:
|
| - print " JOINING_TYPE_X, /* %04X */" % last
|
| - last += 1
|
| - else:
|
| - last = u
|
| -
|
| - if fields[3] in ["ALAPH", "DALATH RISH"]:
|
| - value = "JOINING_GROUP_" + fields[3].replace(' ', '_')
|
| - else:
|
| - value = "JOINING_TYPE_" + fields[2]
|
| - print " %s, /* %s */" % (value, '; '.join(fields))
|
| -
|
| -print
|
| -print " JOINING_TYPE_X /* dummy */"
|
| -print "};"
|
| -print
|
| -
|
| -print "#define JOINING_TABLE_FIRST 0x%04x" % min_u
|
| -print "#define JOINING_TABLE_LAST 0x%04x" % max_u
|
| -print
|
| -
|
| -print "/* == End of generated table == */"
|
| -
|
| -occupancy = num * 100 / (max_u - min_u + 1)
|
| -# Maintain at least 40% occupancy in the table */
|
| -if occupancy < 40:
|
| - raise Exception ("Table too sparse, please investigate: ", occupancy)
|
|
|