~ubuntu-branches/ubuntu/gutsy/lv/gutsy

« back to all changes in this revision

Viewing changes to src/itable_t.h

  • Committer: Bazaar Package Importer
  • Author(s): GOTO Masanori
  • Date: 2003-11-16 01:21:59 UTC
  • Revision ID: james.westby@ubuntu.com-20031116012159-wpu27qhoxzskmjy0
Tags: upstream-4.50
ImportĀ upstreamĀ versionĀ 4.50

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * itable_t.h
 
3
 *
 
4
 * All rights reserved. Copyright (C) 1996 by NARITA Tomio
 
5
 * $Id: itable_t.h,v 1.6 2003/11/13 03:08:19 nrt Exp $
 
6
 */
 
7
 
 
8
#ifndef __ITABLE_T_H__
 
9
#define __ITABLE_T_H__
 
10
 
 
11
#include <ascii.h>
 
12
#include <attr.h>
 
13
#include <ichar.h>
 
14
 
 
15
/*
 
16
 * character sets's name space (byte)
 
17
 */
 
18
 
 
19
#define ISO646_US       0       /* ISO 646 United states (ANSI X3.4-1968) */
 
20
#define X0201ROMAN      1       /* JIS X0201-1976 Japanese Roman */
 
21
 
 
22
#define X0201KANA       2       /* JIS X0201-1976 Japanese Katakana */
 
23
 
 
24
#define ISO8859_1       3       /* ISO 8859/1 Latin1 alphabet */
 
25
#define ISO8859_2       4       /* ISO 8859/2 Latin2 alphabet */
 
26
#define ISO8859_3       5       /* ISO 8859/3 Latin3 alphabet */
 
27
#define ISO8859_4       6       /* ISO 8859/4 Latin4 alphabet */
 
28
#define ISO8859_5       7       /* ISO 8859/5 Cyrillic alphabet */
 
29
#define ISO8859_6       8       /* ISO 8859/6 Arabic alphabet */
 
30
#define ISO8859_7       9       /* ISO 8859/7 Greek alphabet */
 
31
#define ISO8859_8       10      /* ISO 8859/8 Hebrew alphabet */
 
32
#define ISO8859_9       11      /* ISO 8859/9 Latin5 alphabet */
 
33
#define ISO8859_10      12      /* ISO 8859/10 Latin6 alphabet */
 
34
#define ISO8859_11      13      /* ISO 8859/13 Thai alphabet */
 
35
#define ISO8859_13      14      /* ISO 8859/13 Latin7 alphabet */
 
36
#define ISO8859_14      15      /* ISO 8859/14 Latin8 alphabet */
 
37
#define ISO8859_15      16      /* ISO 8859/15 Latin9 alphabet */
 
38
#define ISO8859_16      17      /* ISO 8859/16 Latin10 alphabet */
 
39
 
 
40
#define C6226           18      /* JIS C 6226-1978 Japanese kanji */
 
41
#define GB2312          19      /* GB 2312-80 Chinese kanji */
 
42
#define X0208           20      /* JIS X 0208-1983 Japanese kanji */
 
43
#define KSC5601         21      /* KS C 5601-1987 Korean graphic charset */
 
44
#define X0212           22      /* JIS X 0212-1990 Supplementary charset */
 
45
#define ISO_IR_165      23      /* ISO-IR-165 */
 
46
#define CNS_1           24      /* CNS 11643-1992 Plane 1 */
 
47
#define CNS_2           25      /* CNS 11643-1992 Plane 2 */
 
48
#define CNS_3           26      /* CNS 11643-1992 Plane 3 */
 
49
#define CNS_4           27      /* CNS 11643-1992 Plane 4 */
 
50
#define CNS_5           28      /* CNS 11643-1992 Plane 5 */
 
51
#define CNS_6           29      /* CNS 11643-1992 Plane 6 */
 
52
#define CNS_7           30      /* CNS 11643-1992 Plane 7 */
 
53
                        
 
54
#define X0213_1         31      /* JIS X 0213-2000 Plane 1 */
 
55
#define X0213_2         32      /* JIS X 0213-2000 Plane 2 */
 
56
                        
 
57
#define BIG5            33      /* Big5 Traditional Chinese */
 
58
                        
 
59
#define UNICODE         34      /* Unicode */
 
60
                        
 
61
#define PSEUDO          35
 
62
                        
 
63
#define SPACE           36
 
64
#define HTAB            37
 
65
#define CNTRL           38
 
66
                        
 
67
#define LINE_FEED       39
 
68
                        
 
69
#define I_TABLE_SIZE    40
 
70
 
 
71
#define NOSET           I_TABLE_SIZE
 
72
 
 
73
#define ASCII           ISO646_US
 
74
 
 
75
/*
 
76
 * international charset table
 
77
 */
 
78
 
 
79
typedef struct {
 
80
  byte       charset;
 
81
  byte       fin;               /* final character */
 
82
  boolean_t  multi;             /* is multi bytes charset */
 
83
  boolean_t  set94;             /* is 94 chars charset */
 
84
  int        length;            /* code length for the charset */
 
85
  int        width;             /* graphical width of each char */
 
86
} i_table_t;
 
87
 
 
88
#define SET94           TRUE
 
89
#define SET96           FALSE
 
90
 
 
91
public boolean_t allow_unify;
 
92
public ic_t unicode_width_threshold;
 
93
 
 
94
public void ItableInit();
 
95
public byte ItableLookup( byte fin, boolean_t multi, boolean_t set94 );
 
96
 
 
97
public int IcharWidth( byte charset, ic_t c );
 
98
public int IstrWidth( i_str_t *istr );
 
99
 
 
100
#endif /* __ITABLE_T_H__ */