summaryrefslogtreecommitdiff
path: root/Build/source/texk/lcdf-typetools/lcdf-typetools-2.104/otftotfm/uniprop.hh
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/lcdf-typetools/lcdf-typetools-2.104/otftotfm/uniprop.hh')
-rw-r--r--Build/source/texk/lcdf-typetools/lcdf-typetools-2.104/otftotfm/uniprop.hh34
1 files changed, 34 insertions, 0 deletions
diff --git a/Build/source/texk/lcdf-typetools/lcdf-typetools-2.104/otftotfm/uniprop.hh b/Build/source/texk/lcdf-typetools/lcdf-typetools-2.104/otftotfm/uniprop.hh
new file mode 100644
index 00000000000..4dd6b135eb7
--- /dev/null
+++ b/Build/source/texk/lcdf-typetools/lcdf-typetools-2.104/otftotfm/uniprop.hh
@@ -0,0 +1,34 @@
+#ifndef OTFTOTFM_UNIPROP_HH
+#define OTFTOTFM_UNIPROP_HH
+#include <efont/otf.hh>
+
+class UnicodeProperty { public:
+
+ enum {
+ P_C = 000, P_Cn = 000, P_Co = 001, P_Cs = 002, P_Cf = 003, P_Cc = 004,
+ P_Z = 010, P_Zs = 010, P_Zl = 011, P_Zp = 012,
+ P_M = 020, P_Mn = 020, P_Mc = 021, P_Me = 022,
+ P_L = 030, P_Lo = 030, P_Lu = 031, P_Ll = 032, P_Lt = 033, P_Lm = 034,
+ P_N = 040, P_No = 040, P_Nd = 041, P_Nl = 042,
+ P_P = 050, P_Po = 050, P_Pc = 051, P_Pd = 052, P_Ps = 053, P_Pe = 054, P_Pi = 055, P_Pf = 056,
+ P_S = 060, P_So = 060, P_Sm = 061, P_Sc = 062, P_Sk = 063,
+ P_TMASK = 0370,
+ P_MAX = 0377
+ };
+
+ static int property(uint32_t uni);
+ static const char* property_name(int p);
+ static bool parse_property(const String&, int& prop, int& prop_mask);
+
+ private:
+
+ enum { P_Lul = 070 };
+ static const unsigned char property_pages[];
+ static const unsigned int property_offsets[];
+ static const int nproperty_offsets;
+
+ static inline const unsigned int* find_offset(uint32_t uni);
+
+};
+
+#endif