Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: third_party/harfbuzz/contrib/tables/category-parse.py

Issue 384503008: Delete third_party/harfbuzz (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: remove public header Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 import sys
2 from unicode_parse_common import *
3
4 # http://www.unicode.org/Public/5.1.0/ucd/extracted/DerivedGeneralCategory.txt
5
6 category_to_harfbuzz = {
7 'Mn': 'HB_Mark_NonSpacing',
8 'Mc': 'HB_Mark_SpacingCombining',
9 'Me': 'HB_Mark_Enclosing',
10
11 'Nd': 'HB_Number_DecimalDigit',
12 'Nl': 'HB_Number_Letter',
13 'No': 'HB_Number_Other',
14
15 'Zs': 'HB_Separator_Space',
16 'Zl': 'HB_Separator_Line',
17 'Zp': 'HB_Separator_Paragraph',
18
19 'Cc': 'HB_Other_Control',
20 'Cf': 'HB_Other_Format',
21 'Cs': 'HB_Other_Surrogate',
22 'Co': 'HB_Other_PrivateUse',
23 'Cn': 'HB_Other_NotAssigned',
24
25 'Lu': 'HB_Letter_Uppercase',
26 'Ll': 'HB_Letter_Lowercase',
27 'Lt': 'HB_Letter_Titlecase',
28 'Lm': 'HB_Letter_Modifier',
29 'Lo': 'HB_Letter_Other',
30
31 'Pc': 'HB_Punctuation_Connector',
32 'Pd': 'HB_Punctuation_Dash',
33 'Ps': 'HB_Punctuation_Open',
34 'Pe': 'HB_Punctuation_Close',
35 'Pi': 'HB_Punctuation_InitialQuote',
36 'Pf': 'HB_Punctuation_FinalQuote',
37 'Po': 'HB_Punctuation_Other',
38
39 'Sm': 'HB_Symbol_Math',
40 'Sc': 'HB_Symbol_Currency',
41 'Sk': 'HB_Symbol_Modifier',
42 'So': 'HB_Symbol_Other',
43 }
44
45 def main(infile, outfile):
46 ranges = unicode_file_parse(infile, category_to_harfbuzz)
47 ranges = sort_and_merge(ranges)
48
49 print >>outfile, '// Generated from Unicode script tables\n'
50 print >>outfile, '#ifndef CATEGORY_PROPERTIES_H_'
51 print >>outfile, '#define CATEGORY_PROPERTIES_H_\n'
52 print >>outfile, '#include <stdint.h>'
53 print >>outfile, '#include "harfbuzz-external.h"\n'
54 print >>outfile, 'struct category_property {'
55 print >>outfile, ' uint32_t range_start;'
56 print >>outfile, ' uint32_t range_end;'
57 print >>outfile, ' HB_CharCategory category;'
58 print >>outfile, '};\n'
59 print >>outfile, 'static const struct category_property category_properties[] = {'
60 for (start, end, value) in ranges:
61 print >>outfile, ' {0x%x, 0x%x, %s},' % (start, end, value)
62 print >>outfile, '};\n'
63 print >>outfile, 'static const unsigned category_properties_count = %d;\n' % l en(ranges)
64 print >>outfile, '#endif // CATEGORY_PROPERTIES_H_'
65
66 if __name__ == '__main__':
67 if len(sys.argv) != 3:
68 print 'Usage: %s <input .txt> <output .h>' % sys.argv[0]
69 else:
70 main(file(sys.argv[1], 'r'), file(sys.argv[2], 'w+'))
OLDNEW
« no previous file with comments | « third_party/harfbuzz/contrib/tables/Scripts.txt ('k') | third_party/harfbuzz/contrib/tables/category-properties.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698