libgrapheme

unicode string library
git clone git://git.suckless.org/libgrapheme
Log | Files | Refs | README | LICENSE

character.c (1727B)


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