Blame


1 3448adb0 2022-11-02 op /* See LICENSE file for copyright and license details. */
2 3448adb0 2022-11-02 op #include <stddef.h>
3 3448adb0 2022-11-02 op
4 3448adb0 2022-11-02 op #include "util.h"
5 3448adb0 2022-11-02 op
6 3448adb0 2022-11-02 op #define FILE_EMOJI "data/emoji-data.txt"
7 3448adb0 2022-11-02 op #define FILE_GRAPHEME "data/GraphemeBreakProperty.txt"
8 3448adb0 2022-11-02 op
9 3448adb0 2022-11-02 op static const struct property_spec char_break_property[] = {
10 3448adb0 2022-11-02 op {
11 3448adb0 2022-11-02 op .enumname = "OTHER",
12 3448adb0 2022-11-02 op .file = NULL,
13 3448adb0 2022-11-02 op .ucdname = NULL,
14 3448adb0 2022-11-02 op },
15 3448adb0 2022-11-02 op {
16 3448adb0 2022-11-02 op .enumname = "CONTROL",
17 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
18 3448adb0 2022-11-02 op .ucdname = "Control",
19 3448adb0 2022-11-02 op },
20 3448adb0 2022-11-02 op {
21 3448adb0 2022-11-02 op .enumname = "CR",
22 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
23 3448adb0 2022-11-02 op .ucdname = "CR",
24 3448adb0 2022-11-02 op },
25 3448adb0 2022-11-02 op {
26 3448adb0 2022-11-02 op .enumname = "EXTEND",
27 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
28 3448adb0 2022-11-02 op .ucdname = "Extend",
29 3448adb0 2022-11-02 op },
30 3448adb0 2022-11-02 op {
31 3448adb0 2022-11-02 op .enumname = "EXTENDED_PICTOGRAPHIC",
32 3448adb0 2022-11-02 op .file = FILE_EMOJI,
33 3448adb0 2022-11-02 op .ucdname = "Extended_Pictographic",
34 3448adb0 2022-11-02 op },
35 3448adb0 2022-11-02 op {
36 3448adb0 2022-11-02 op .enumname = "HANGUL_L",
37 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
38 3448adb0 2022-11-02 op .ucdname = "L",
39 3448adb0 2022-11-02 op },
40 3448adb0 2022-11-02 op {
41 3448adb0 2022-11-02 op .enumname = "HANGUL_V",
42 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
43 3448adb0 2022-11-02 op .ucdname = "V",
44 3448adb0 2022-11-02 op },
45 3448adb0 2022-11-02 op {
46 3448adb0 2022-11-02 op .enumname = "HANGUL_T",
47 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
48 3448adb0 2022-11-02 op .ucdname = "T",
49 3448adb0 2022-11-02 op },
50 3448adb0 2022-11-02 op {
51 3448adb0 2022-11-02 op .enumname = "HANGUL_LV",
52 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
53 3448adb0 2022-11-02 op .ucdname = "LV",
54 3448adb0 2022-11-02 op },
55 3448adb0 2022-11-02 op {
56 3448adb0 2022-11-02 op .enumname = "HANGUL_LVT",
57 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
58 3448adb0 2022-11-02 op .ucdname = "LVT",
59 3448adb0 2022-11-02 op },
60 3448adb0 2022-11-02 op {
61 3448adb0 2022-11-02 op .enumname = "LF",
62 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
63 3448adb0 2022-11-02 op .ucdname = "LF",
64 3448adb0 2022-11-02 op },
65 3448adb0 2022-11-02 op {
66 3448adb0 2022-11-02 op .enumname = "PREPEND",
67 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
68 3448adb0 2022-11-02 op .ucdname = "Prepend",
69 3448adb0 2022-11-02 op },
70 3448adb0 2022-11-02 op {
71 3448adb0 2022-11-02 op .enumname = "REGIONAL_INDICATOR",
72 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
73 3448adb0 2022-11-02 op .ucdname = "Regional_Indicator",
74 3448adb0 2022-11-02 op },
75 3448adb0 2022-11-02 op {
76 3448adb0 2022-11-02 op .enumname = "SPACINGMARK",
77 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
78 3448adb0 2022-11-02 op .ucdname = "SpacingMark",
79 3448adb0 2022-11-02 op },
80 3448adb0 2022-11-02 op {
81 3448adb0 2022-11-02 op .enumname = "ZWJ",
82 3448adb0 2022-11-02 op .file = FILE_GRAPHEME,
83 3448adb0 2022-11-02 op .ucdname = "ZWJ",
84 3448adb0 2022-11-02 op },
85 3448adb0 2022-11-02 op };
86 3448adb0 2022-11-02 op
87 3448adb0 2022-11-02 op int
88 3448adb0 2022-11-02 op main(int argc, char *argv[])
89 3448adb0 2022-11-02 op {
90 3448adb0 2022-11-02 op (void)argc;
91 3448adb0 2022-11-02 op
92 3448adb0 2022-11-02 op properties_generate_break_property(char_break_property,
93 3448adb0 2022-11-02 op LEN(char_break_property),
94 3448adb0 2022-11-02 op NULL, NULL, "char_break", argv[0]);
95 3448adb0 2022-11-02 op
96 3448adb0 2022-11-02 op return 0;
97 3448adb0 2022-11-02 op }