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