xref: /plan9-contrib/sys/src/cmd/aux/antiword/wordconst.h (revision 25b329d522281a8cdd35da0dcc08c3fc621059a9)
1f5736e95SDavid du Colombier /*
2f5736e95SDavid du Colombier  * wordconst.h
3*25b329d5SDavid du Colombier  * Copyright (C) 1998-2004 A.J. van Os; Released under GNU GPL
4f5736e95SDavid du Colombier  *
5f5736e95SDavid du Colombier  * Description:
6f5736e95SDavid du Colombier  * Constants and macros for the interpretation of MS Word files
7f5736e95SDavid du Colombier  */
8f5736e95SDavid du Colombier 
9f5736e95SDavid du Colombier #if !defined(__wordconst_h)
10f5736e95SDavid du Colombier #define __wordconst_h 1
11f5736e95SDavid du Colombier 
12f5736e95SDavid du Colombier /*
13f5736e95SDavid du Colombier  * A bit odd definition of the type Boolean, but RISC OS insists
14f5736e95SDavid du Colombier  * on this and Linux/Unix doesn't mind.
15f5736e95SDavid du Colombier  */
16f5736e95SDavid du Colombier #if !defined(BOOL)
17f5736e95SDavid du Colombier #define BOOL int
18f5736e95SDavid du Colombier #define TRUE 1
19f5736e95SDavid du Colombier #define FALSE 0
20f5736e95SDavid du Colombier #endif /* !BOOL */
21f5736e95SDavid du Colombier 
22f5736e95SDavid du Colombier /* Block sizes */
23f5736e95SDavid du Colombier #define HEADER_SIZE			768
24f5736e95SDavid du Colombier #define BIG_BLOCK_SIZE			512
25f5736e95SDavid du Colombier #define PROPERTY_SET_STORAGE_SIZE	128
26f5736e95SDavid du Colombier #define SMALL_BLOCK_SIZE		 64
27f5736e95SDavid du Colombier /* Switch size of Depot use */
28f5736e95SDavid du Colombier #define MIN_SIZE_FOR_BBD_USE		0x1000
29f5736e95SDavid du Colombier /* Table sizes */
30f5736e95SDavid du Colombier #define TABLE_COLUMN_MAX		 31
31f5736e95SDavid du Colombier /* Maximum number of tabs positions in a paragraph */
32f5736e95SDavid du Colombier #define NUMBER_OF_TABS_MAX		 64
33f5736e95SDavid du Colombier /* Font sizes (in half-points) */
34f5736e95SDavid du Colombier #define MIN_FONT_SIZE			  8
35f5736e95SDavid du Colombier #define DEFAULT_FONT_SIZE		 20
36f5736e95SDavid du Colombier #define MAX_FONT_SIZE			240
37f5736e95SDavid du Colombier #define MIN_TABLEFONT_SIZE		 16
38f5736e95SDavid du Colombier #define MAX_TABLEFONT_SIZE		 20
39f5736e95SDavid du Colombier /* Font styles */
40f5736e95SDavid du Colombier #define FONT_REGULAR			0x0000
41f5736e95SDavid du Colombier #define FONT_BOLD			0x0001
42f5736e95SDavid du Colombier #define FONT_ITALIC			0x0002
43f5736e95SDavid du Colombier #define FONT_UNDERLINE			0x0004
44f5736e95SDavid du Colombier #define FONT_CAPITALS			0x0008
45f5736e95SDavid du Colombier #define FONT_SMALL_CAPITALS		0x0010
46f5736e95SDavid du Colombier #define FONT_STRIKE			0x0020
47f5736e95SDavid du Colombier #define FONT_HIDDEN			0x0040
48f5736e95SDavid du Colombier #define FONT_MARKDEL			0x0080
49f5736e95SDavid du Colombier #define FONT_SUPERSCRIPT		0x0100
50f5736e95SDavid du Colombier #define FONT_SUBSCRIPT			0x0200
51f5736e95SDavid du Colombier /* Font colors */
52f5736e95SDavid du Colombier #define FONT_COLOR_DEFAULT		 0
53f5736e95SDavid du Colombier #define FONT_COLOR_BLACK		 1
54f5736e95SDavid du Colombier #define FONT_COLOR_BLUE			 2
55f5736e95SDavid du Colombier #define FONT_COLOR_CYAN			 3
56f5736e95SDavid du Colombier #define FONT_COLOR_GREEN		 4
57f5736e95SDavid du Colombier #define FONT_COLOR_MAGENTA		 5
58f5736e95SDavid du Colombier #define FONT_COLOR_RED			 6
59f5736e95SDavid du Colombier #define FONT_COLOR_YELLOW		 7
60f5736e95SDavid du Colombier #define FONT_COLOR_WHITE		 8
61f5736e95SDavid du Colombier /* Special block numbers */
62f5736e95SDavid du Colombier #define END_OF_CHAIN			0xfffffffeUL
63f5736e95SDavid du Colombier #define UNUSED_BLOCK			0xffffffffUL
64f5736e95SDavid du Colombier /* Blocksize (512 bytes) and maximum filesize (4 GB) gives 0..7fffff */
65f5736e95SDavid du Colombier #define MAX_BLOCKNUMBER			0x007fffffUL
66f5736e95SDavid du Colombier /* Invalid character position */
67f5736e95SDavid du Colombier #define CP_INVALID			0xffffffffUL
68f5736e95SDavid du Colombier /* Invalid file offset */
69f5736e95SDavid du Colombier #define FC_INVALID			0xffffffffUL
70f5736e95SDavid du Colombier /* Special istd values */
71f5736e95SDavid du Colombier #define ISTD_INVALID			USHRT_MAX
72f5736e95SDavid du Colombier #define ISTD_NORMAL			0
73f5736e95SDavid du Colombier /* Properties modifier without value */
74f5736e95SDavid du Colombier #define IGNORE_PROPMOD			0
75f5736e95SDavid du Colombier /* Types of lists */
76f5736e95SDavid du Colombier #define LIST_ARABIC_NUM			0x00
77f5736e95SDavid du Colombier #define LIST_UPPER_ROMAN		0x01
78f5736e95SDavid du Colombier #define LIST_LOWER_ROMAN		0x02
79f5736e95SDavid du Colombier #define LIST_UPPER_ALPHA		0x03
80f5736e95SDavid du Colombier #define LIST_LOWER_ALPHA		0x04
81f5736e95SDavid du Colombier #define LIST_ORDINAL_NUM		0x05
82*25b329d5SDavid du Colombier #define LIST_NUMBER_TXT			0x06
83*25b329d5SDavid du Colombier #define LIST_ORDINAL_TXT		0x07
84*25b329d5SDavid du Colombier #define LIST_OUTLINE_NUM		0x16
85f5736e95SDavid du Colombier #define LIST_SPECIAL			0x17
86*25b329d5SDavid du Colombier #define LIST_SPECIAL2			0x19
87f5736e95SDavid du Colombier #define LIST_BULLETS			0xff
88f5736e95SDavid du Colombier /* Types of paragraph alignment */
89f5736e95SDavid du Colombier #define ALIGNMENT_LEFT			0x00
90f5736e95SDavid du Colombier #define ALIGNMENT_CENTER		0x01
91f5736e95SDavid du Colombier #define ALIGNMENT_RIGHT			0x02
92f5736e95SDavid du Colombier #define ALIGNMENT_JUSTIFY		0x03
93f5736e95SDavid du Colombier /* Minimum vertical space before and after a heading line */
94f5736e95SDavid du Colombier #define HEADING_GAP			120	/* twips */
95f5736e95SDavid du Colombier /* Style identifier */
96f5736e95SDavid du Colombier #define STI_USER			0xffe
97f5736e95SDavid du Colombier #define STI_NIL				0xfff
98f5736e95SDavid du Colombier /* Table border style codes */
99f5736e95SDavid du Colombier #define TABLE_BORDER_TOP		0x01
100f5736e95SDavid du Colombier #define TABLE_BORDER_LEFT		0x02
101f5736e95SDavid du Colombier #define TABLE_BORDER_BOTTOM		0x04
102f5736e95SDavid du Colombier #define TABLE_BORDER_RIGHT		0x08
103f5736e95SDavid du Colombier 
104f5736e95SDavid du Colombier /* Macros */
105f5736e95SDavid du Colombier 	/* Get macros */
106f5736e95SDavid du Colombier #define ucGetByte(i,a)		((unsigned char)(a[i]))
107f5736e95SDavid du Colombier #define usGetWord(i,a)		((unsigned short)\
108f5736e95SDavid du Colombier 					((unsigned int)(a[(i)+1])<<8|\
109f5736e95SDavid du Colombier 					 (unsigned int)(a[i])))
110f5736e95SDavid du Colombier #define ulGetLong(i,a)		((unsigned long)(a[i])|\
111f5736e95SDavid du Colombier 					(unsigned long)(a[(i)+1])<<8|\
112f5736e95SDavid du Colombier 					(unsigned long)(a[(i)+2])<<16|\
113f5736e95SDavid du Colombier 					(unsigned long)(a[(i)+3])<<24)
114f5736e95SDavid du Colombier #define usGetWordBE(i,a)	((unsigned short)\
115f5736e95SDavid du Colombier 					((unsigned int)(a[i])<<8|\
116f5736e95SDavid du Colombier 					 (unsigned int)(a[(i)+1])))
117f5736e95SDavid du Colombier #define ulGetLongBE(i,a)	((unsigned long)(a[(i)+3])|\
118f5736e95SDavid du Colombier 					(unsigned long)(a[(i)+2])<<8|\
119f5736e95SDavid du Colombier 					(unsigned long)(a[(i)+1])<<16|\
120f5736e95SDavid du Colombier 					(unsigned long)(a[i])<<24)
121f5736e95SDavid du Colombier 	/* Font style macros */
122f5736e95SDavid du Colombier #define bIsBold(x)		(((x) & FONT_BOLD) == FONT_BOLD)
123f5736e95SDavid du Colombier #define bIsItalic(x)		(((x) & FONT_ITALIC) == FONT_ITALIC)
124f5736e95SDavid du Colombier #define bIsUnderline(x)		(((x) & FONT_UNDERLINE) == FONT_UNDERLINE)
125f5736e95SDavid du Colombier #define bIsCapitals(x)		(((x) & FONT_CAPITALS) == FONT_CAPITALS)
126f5736e95SDavid du Colombier #define bIsSmallCapitals(x)	(((x) & FONT_SMALL_CAPITALS) == FONT_SMALL_CAPITALS)
127f5736e95SDavid du Colombier #define bIsStrike(x)		(((x) & FONT_STRIKE) == FONT_STRIKE)
128f5736e95SDavid du Colombier #define bIsHidden(x)		(((x) & FONT_HIDDEN) == FONT_HIDDEN)
129f5736e95SDavid du Colombier #define bIsMarkDel(x)		(((x) & FONT_MARKDEL) == FONT_MARKDEL)
130f5736e95SDavid du Colombier #define bIsSuperscript(x)	(((x) & FONT_SUPERSCRIPT) == FONT_SUPERSCRIPT)
131f5736e95SDavid du Colombier #define bIsSubscript(x)		(((x) & FONT_SUBSCRIPT) == FONT_SUBSCRIPT)
132f5736e95SDavid du Colombier 	/* Table border style code macros */
133f5736e95SDavid du Colombier #define bIsTableBorderTop(x)	(((x) & TABLE_BORDER_TOP) == TABLE_BORDER_TOP)
134f5736e95SDavid du Colombier #define bIsTableBorderLeft(x)	(((x) & TABLE_BORDER_LEFT) == TABLE_BORDER_LEFT)
135f5736e95SDavid du Colombier #define bIsTableBorderBottom(x)	(((x) & TABLE_BORDER_BOTTOM) == TABLE_BORDER_BOTTOM)
136f5736e95SDavid du Colombier #define bIsTableBorderRight(x)	(((x) & TABLE_BORDER_RIGHT) == TABLE_BORDER_RIGHT)
137f5736e95SDavid du Colombier 	/* Computation macros */
138f5736e95SDavid du Colombier #if defined(__riscos)
139f5736e95SDavid du Colombier /* From Words half-points to draw units (plus a percentage) */
140f5736e95SDavid du Colombier #define lWord2DrawUnits00(x)	((long)(x) * 320)
141f5736e95SDavid du Colombier #define lWord2DrawUnits20(x)	((long)(x) * 384)
142f5736e95SDavid du Colombier #define lToBaseLine(x)		((long)(x) *  45)
143f5736e95SDavid du Colombier #endif /* __riscos */
144f5736e95SDavid du Colombier /* From twips (1/20 of a point) to millipoints */
145f5736e95SDavid du Colombier #define lTwips2MilliPoints(x)	((long)(x) * 50)
146f5736e95SDavid du Colombier /* From twips (1/20 of a point) to points */
147f5736e95SDavid du Colombier #define dTwips2Points(x)	((double)(x) / 20.0)
148f5736e95SDavid du Colombier /* From default characters (16 OS units wide) to millipoints */
149f5736e95SDavid du Colombier #define lChar2MilliPoints(x)	((long)(x) * 6400)
150f5736e95SDavid du Colombier #define iMilliPoints2Char(x)	(int)(((long)(x) + 3200) / 6400)
151f5736e95SDavid du Colombier #define iDrawUnits2Char(x)	(int)(((long)(x) + 2048) / 4096)
152f5736e95SDavid du Colombier /* From draw units (1/180*256 inch) to millipoints (1/72*1000 inch) */
153f5736e95SDavid du Colombier #define lDrawUnits2MilliPoints(x)	(((long)(x) * 25 +  8) / 16)
154f5736e95SDavid du Colombier #define lMilliPoints2DrawUnits(x)	(((long)(x) * 16 + 12) / 25)
155f5736e95SDavid du Colombier #define lPoints2DrawUnits(x)		((long)(x) * 640)
156f5736e95SDavid du Colombier #define dDrawUnits2Points(x)		((double)(x) / 640.0)
157f5736e95SDavid du Colombier 
158f5736e95SDavid du Colombier /* Special characters */
159f5736e95SDavid du Colombier #define IGNORE_CHARACTER	0x00	/* ^@ */
160f5736e95SDavid du Colombier #define PICTURE			0x01	/* ^A */
161f5736e95SDavid du Colombier #define FOOTNOTE_OR_ENDNOTE	0x02	/* ^B */
162f5736e95SDavid du Colombier #define FOOTNOTE_SEPARATOR	0x03	/* ^C */
163f5736e95SDavid du Colombier #define FOOTNOTE_CONTINUATION	0x04	/* ^D */
164f5736e95SDavid du Colombier #define ANNOTATION		0x05	/* ^E */
165f5736e95SDavid du Colombier #define TABLE_SEPARATOR		0x07	/* ^G */
166f5736e95SDavid du Colombier #define FRAME			0x08	/* ^H */
167f5736e95SDavid du Colombier #define TAB			0x09	/* ^I */
168f5736e95SDavid du Colombier /* End of line characters */
169f5736e95SDavid du Colombier #define LINE_FEED		0x0a	/* ^J */
170f5736e95SDavid du Colombier #define HARD_RETURN		0x0b	/* ^K */
171f5736e95SDavid du Colombier #define PAGE_BREAK		0x0c	/* ^L */
172f5736e95SDavid du Colombier #define PAR_END			0x0d	/* ^M */
173f5736e95SDavid du Colombier #define COLUMN_FEED		0x0e	/* ^N */
174f5736e95SDavid du Colombier /* Embedded stuff */
175f5736e95SDavid du Colombier #define START_EMBEDDED		0x13	/* ^S */
176f5736e95SDavid du Colombier #define END_IGNORE		0x14	/* ^T */
177f5736e95SDavid du Colombier #define END_EMBEDDED		0x15	/* ^U */
178f5736e95SDavid du Colombier /* Special characters */
179f5736e95SDavid du Colombier #if defined(DEBUG)
180f5736e95SDavid du Colombier #define FILLER_CHAR		'~'
181f5736e95SDavid du Colombier #else
182f5736e95SDavid du Colombier #define FILLER_CHAR		' '
183f5736e95SDavid du Colombier #endif /* DEBUG */
184f5736e95SDavid du Colombier #define TABLE_SEPARATOR_CHAR	'|'
185f5736e95SDavid du Colombier /* Pseudo characters. These must be outside the Unicode range */
186f5736e95SDavid du Colombier #define FOOTNOTE_CHAR		((unsigned long)0xffff + 1)
187f5736e95SDavid du Colombier #define ENDNOTE_CHAR		((unsigned long)0xffff + 2)
188f5736e95SDavid du Colombier #define UNKNOWN_NOTE_CHAR	((unsigned long)0xffff + 3)
189f5736e95SDavid du Colombier 
190f5736e95SDavid du Colombier /* Charactercodes as used by Word */
191f5736e95SDavid du Colombier #define WORD_UNBREAKABLE_JOIN		0x1e
192f5736e95SDavid du Colombier #define WORD_SOFT_HYPHEN		0x1f
193f5736e95SDavid du Colombier 
194f5736e95SDavid du Colombier /* Unicode characters */
195*25b329d5SDavid du Colombier #define UNICODE_DOUBLE_LEFT_ANGLE_QMARK	0x00ab
196*25b329d5SDavid du Colombier #define UNICODE_MIDDLE_DOT		0x00b7
197*25b329d5SDavid du Colombier #define UNICODE_DOUBLE_RIGHT_ANGLE_QMARK	0x00bb
198*25b329d5SDavid du Colombier #define UNICODE_CAPITAL_D_WITH_STROKE	0x0110
199*25b329d5SDavid du Colombier #define UNICODE_SMALL_D_WITH_STROKE	0x0111
200f5736e95SDavid du Colombier #define UNICODE_CAPITAL_LIGATURE_OE	0x0152
201f5736e95SDavid du Colombier #define UNICODE_SMALL_LIGATURE_OE	0x0153
202f5736e95SDavid du Colombier #define UNICODE_SMALL_F_HOOK		0x0192
203f5736e95SDavid du Colombier #define UNICODE_GREEK_CAPITAL_CHI	0x03a7
204f5736e95SDavid du Colombier #define UNICODE_GREEK_SMALL_UPSILON	0x03c5
205f5736e95SDavid du Colombier #define UNICODE_MODIFIER_CIRCUMFLEX	0x02c6
206f5736e95SDavid du Colombier #define UNICODE_SMALL_TILDE		0x02dc
207f5736e95SDavid du Colombier #define UNICODE_SMALL_LETTER_OMEGA	0x03c9
208f5736e95SDavid du Colombier #define UNICODE_EN_QUAD			0x2000
209f5736e95SDavid du Colombier #define UNICODE_EM_QUAD			0x2001
210f5736e95SDavid du Colombier #define UNICODE_EN_SPACE		0x2002
211f5736e95SDavid du Colombier #define UNICODE_EM_SPACE		0x2003
212f5736e95SDavid du Colombier #define UNICODE_THREE_PER_EM_SPACE	0x2004
213f5736e95SDavid du Colombier #define UNICODE_FOUR_PER_EM_SPACE	0x2005
214f5736e95SDavid du Colombier #define UNICODE_SIX_PER_EM_SPACE	0x2006
215f5736e95SDavid du Colombier #define UNICODE_FIGURE_SPACE		0x2007
216f5736e95SDavid du Colombier #define UNICODE_PUNCTUATION_SPACE	0x2008
217f5736e95SDavid du Colombier #define UNICODE_THIN_SPACE		0x2009
218f5736e95SDavid du Colombier #define UNICODE_HAIR_SPACE		0x200a
219f5736e95SDavid du Colombier #define UNICODE_ZERO_WIDTH_SPACE	0x200b
220f5736e95SDavid du Colombier #define UNICODE_ZERO_WIDTH_NON_JOINER	0x200c
221f5736e95SDavid du Colombier #define UNICODE_ZERO_WIDTH_JOINER	0x200d
222f5736e95SDavid du Colombier #define UNICODE_LEFT_TO_RIGHT_MARK	0x200e
223f5736e95SDavid du Colombier #define UNICODE_RIGHT_TO_LEFT_MARK	0x200f
224f5736e95SDavid du Colombier #define UNICODE_HYPHEN			0x2010
225f5736e95SDavid du Colombier #define UNICODE_NON_BREAKING_HYPHEN	0x2011
226f5736e95SDavid du Colombier #define UNICODE_FIGURE_DASH		0x2012
227f5736e95SDavid du Colombier #define UNICODE_EN_DASH			0x2013
228f5736e95SDavid du Colombier #define UNICODE_EM_DASH			0x2014
229f5736e95SDavid du Colombier #define UNICODE_HORIZONTAL_BAR		0x2015
230f5736e95SDavid du Colombier #define UNICODE_DOUBLE_VERTICAL_LINE	0x2016
231f5736e95SDavid du Colombier #define UNICODE_DOUBLE_LOW_LINE		0x2017
232f5736e95SDavid du Colombier #define UNICODE_LEFT_SINGLE_QMARK	0x2018
233f5736e95SDavid du Colombier #define UNICODE_RIGHT_SINGLE_QMARK	0x2019
234f5736e95SDavid du Colombier #define UNICODE_SINGLE_LOW_9_QMARK	0x201a
235f5736e95SDavid du Colombier #define UNICODE_SINGLE_HIGH_REV_9_QMARK	0x201b
236f5736e95SDavid du Colombier #define UNICODE_LEFT_DOUBLE_QMARK	0x201c
237f5736e95SDavid du Colombier #define UNICODE_RIGHT_DOUBLE_QMARK	0x201d
238f5736e95SDavid du Colombier #define UNICODE_DOUBLE_LOW_9_QMARK	0x201e
239f5736e95SDavid du Colombier #define UNICODE_DOUBLE_HIGH_REV_9_QMARK	0x201f
240f5736e95SDavid du Colombier #define UNICODE_DAGGER			0x2020
241f5736e95SDavid du Colombier #define UNICODE_DOUBLE_DAGGER		0x2021
242f5736e95SDavid du Colombier #define UNICODE_BULLET			0x2022
243f5736e95SDavid du Colombier #define UNICODE_TRIANGULAR_BULLET	0x2023
244f5736e95SDavid du Colombier #define UNICODE_ONE_DOT_LEADER		0x2024
245*25b329d5SDavid du Colombier #define UNICODE_TWO_DOT_LEADER		0x2025
246f5736e95SDavid du Colombier #define UNICODE_ELLIPSIS		0x2026
247f5736e95SDavid du Colombier #define UNICODE_HYPHENATION_POINT	0x2027
248f5736e95SDavid du Colombier #define UNICODE_LEFT_TO_RIGHT_EMBEDDING	0x202a
249f5736e95SDavid du Colombier #define UNICODE_RIGHT_TO_LEFT_EMBEDDING	0x202b
250*25b329d5SDavid du Colombier #define UNICODE_POP_DIRECTIONAL_FORMATTING	0x202c
251*25b329d5SDavid du Colombier #define UNICODE_LEFT_TO_RIGHT_OVERRIDE	0x202d
252*25b329d5SDavid du Colombier #define UNICODE_RIGHT_TO_LEFT_OVERRIDE	0x202e
253*25b329d5SDavid du Colombier #define UNICODE_NARROW_NO_BREAK_SPACE	0x202f
254f5736e95SDavid du Colombier #define UNICODE_PER_MILLE_SIGN		0x2030
255f5736e95SDavid du Colombier #define UNICODE_PRIME			0x2032
256f5736e95SDavid du Colombier #define UNICODE_DOUBLE_PRIME		0x2033
257f5736e95SDavid du Colombier #define UNICODE_SINGLE_LEFT_ANGLE_QMARK	0x2039
258f5736e95SDavid du Colombier #define UNICODE_SINGLE_RIGHT_ANGLE_QMARK	0x203a
259f5736e95SDavid du Colombier #define UNICODE_UNDERTIE		0x203f
260f5736e95SDavid du Colombier #define UNICODE_FRACTION_SLASH		0x2044
261f5736e95SDavid du Colombier #define UNICODE_EURO_SIGN		0x20ac
262f5736e95SDavid du Colombier #define UNICODE_CIRCLE			0x20dd
263f5736e95SDavid du Colombier #define UNICODE_SQUARE			0x20de
264f5736e95SDavid du Colombier #define UNICODE_DIAMOND			0x20df
265*25b329d5SDavid du Colombier #define UNICODE_NUMERO_SIGN		0x2116
266f5736e95SDavid du Colombier #define UNICODE_TRADEMARK_SIGN		0x2122
267f5736e95SDavid du Colombier #define UNICODE_KELVIN_SIGN		0x212a
268f5736e95SDavid du Colombier #define UNICODE_LEFTWARDS_ARROW		0x2190
269f5736e95SDavid du Colombier #define UNICODE_UPWARDS_ARROW		0x2191
270f5736e95SDavid du Colombier #define UNICODE_RIGHTWARDS_ARROW	0x2192
271f5736e95SDavid du Colombier #define UNICODE_DOWNWARDS_ARROW		0x2193
272f5736e95SDavid du Colombier #define UNICODE_N_ARY_SUMMATION		0x2211
273f5736e95SDavid du Colombier #define UNICODE_MINUS_SIGN		0x2212
274f5736e95SDavid du Colombier #define UNICODE_DIVISION_SLASH		0x2215
275f5736e95SDavid du Colombier #define UNICODE_ASTERISK_OPERATOR	0x2217
276*25b329d5SDavid du Colombier #define UNICODE_BULLET_OPERATOR		0x2219
277f5736e95SDavid du Colombier #define UNICODE_RATIO			0x2236
278f5736e95SDavid du Colombier #define UNICODE_TILDE_OPERATOR		0x223c
279f5736e95SDavid du Colombier #define UNICODE_BD_LIGHT_HORIZONTAL	0x2500
280f5736e95SDavid du Colombier #define UNICODE_BD_LIGHT_VERTICAL	0x2502
281f5736e95SDavid du Colombier #define UNICODE_BD_LIGHT_DOWN_RIGHT	0x250c
282f5736e95SDavid du Colombier #define UNICODE_BD_LIGHT_DOWN_AND_LEFT	0x2510
283f5736e95SDavid du Colombier #define UNICODE_BD_LIGHT_UP_AND_RIGHT	0x2514
284f5736e95SDavid du Colombier #define UNICODE_BD_LIGHT_UP_AND_LEFT	0x2518
285f5736e95SDavid du Colombier #define UNICODE_BD_LIGHT_VERTICAL_AND_RIGHT	0x251c
286f5736e95SDavid du Colombier #define UNICODE_BD_LIGHT_VERTICAL_AND_LEFT	0x2524
287f5736e95SDavid du Colombier #define UNICODE_BD_LIGHT_DOWN_AND_HORIZONTAL	0x252c
288f5736e95SDavid du Colombier #define UNICODE_BD_LIGHT_UP_AND_HORIZONTAL	0x2534
289f5736e95SDavid du Colombier #define UNICODE_BD_LIGHT_VERTICAL_AND_HORIZONTAL	0x253c
290f5736e95SDavid du Colombier #define UNICODE_BD_DOUBLE_HORIZONTAL	0x2550
291f5736e95SDavid du Colombier #define UNICODE_BD_DOUBLE_VERTICAL	0x2551
292f5736e95SDavid du Colombier #define UNICODE_BD_DOUBLE_DOWN_AND_RIGHT	0x2554
293f5736e95SDavid du Colombier #define UNICODE_BD_DOUBLE_DOWN_AND_LEFT	0x2557
294f5736e95SDavid du Colombier #define UNICODE_BD_DOUBLE_UP_AND_RIGHT	0x255a
295f5736e95SDavid du Colombier #define UNICODE_BD_DOUBLE_UP_AND_LEFT	0x255d
296f5736e95SDavid du Colombier #define UNICODE_BD_DOUBLE_VERTICAL_AND_RIGHT	0x2560
297f5736e95SDavid du Colombier #define UNICODE_BD_DOUBLE_VERTICAL_AND_LEFT	0x2563
298f5736e95SDavid du Colombier #define UNICODE_BD_DOUBLE_DOWN_AND_HORIZONTAL	0x2566
299f5736e95SDavid du Colombier #define UNICODE_BD_DOUBLE_UP_AND_HORIZONTAL	0x2569
300f5736e95SDavid du Colombier #define UNICODE_BD_DOUBLE_VERTICAL_AND_HORIZONTAL	0x256c
301f5736e95SDavid du Colombier #define UNICODE_LIGHT_SHADE		0x2591
302f5736e95SDavid du Colombier #define UNICODE_MEDIUM_SHADE		0x2592
303f5736e95SDavid du Colombier #define UNICODE_DARK_SHADE		0x2593
304f5736e95SDavid du Colombier #define UNICODE_BLACK_SQUARE		0x25a0
305f5736e95SDavid du Colombier #define UNICODE_BLACK_CLUB_SUIT		0x2663
306f5736e95SDavid du Colombier #define UNICODE_SMALL_LIGATURE_FI	0xfb01
307f5736e95SDavid du Colombier #define UNICODE_SMALL_LIGATURE_FL	0xfb02
308*25b329d5SDavid du Colombier #define UNICODE_ZERO_WIDTH_NO_BREAK_SPACE	0xfeff
309f5736e95SDavid du Colombier 
310f5736e95SDavid du Colombier #if defined(__riscos)
311f5736e95SDavid du Colombier #define OUR_ELLIPSIS			0x8c
312f5736e95SDavid du Colombier #define OUR_EM_DASH			0x98
313f5736e95SDavid du Colombier #define OUR_UNBREAKABLE_JOIN		0x99
314f5736e95SDavid du Colombier #else
315f5736e95SDavid du Colombier #define OUR_ELLIPSIS			'.'
316f5736e95SDavid du Colombier #define OUR_EM_DASH			'-'
317f5736e95SDavid du Colombier #define OUR_UNBREAKABLE_JOIN		'-'
318f5736e95SDavid du Colombier #endif /* __riscos */
319f5736e95SDavid du Colombier #define OUR_DIAMOND			'-'
320f5736e95SDavid du Colombier 
321f5736e95SDavid du Colombier #endif /* __wordconst_h */
322