Develop and Download Open Source Software

Browse Subversion Repository

Diff of /branches/mty-makai/mty.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 29 by chapuni, Mon Mar 19 04:56:09 2007 UTC revision 39 by chapuni, Tue Mar 27 10:53:45 2007 UTC
# Line 33  Line 33 
33  #endif  #endif
34    
35  #include "config.h"  #include "config.h"
36    #include "cp932.h"
37  #include "crypt64.h"  #include "crypt64.h"
 #include "dt4.h"  
38  #include "expr.h"  #include "expr.h"
39  #include "translate.h"  #include "translate.h"
40    
41    #if USE_DT
42    #include "dt4.h"
43    #endif
44    
45  #define N_I             (sizeof(WS_T) / sizeof(uint32_t))  #define N_I             (sizeof(WS_T) / sizeof(uint32_t))
46  #define N_ALU (sizeof(WS_T) / sizeof(ALU_T))  #define N_ALU (sizeof(WS_T) / sizeof(ALU_T))
47  #define ALU_BITS (CHAR_BIT * sizeof(ALU_T))  #define ALU_BITS (CHAR_BIT * sizeof(ALU_T))
# Line 141  key_make_map(int n) Line 145  key_make_map(int n)
145    int i, j;    int i, j;
146    unsigned c = kcls[n].map[key[n]];    unsigned c = kcls[n].map[key[n]];
147    
148    #if USE_DT
149    if (3 <= n && n < 7 && kd[n - 3])    if (3 <= n && n < 7 && kd[n - 3])
150          {          {
151            /* 辞書のケツの文字。後ろにナニヤラキャラクタが来る */            /* 辞書のケツの文字。後ろにナニヤラキャラクタが来る */
# Line 229  key_make_map(int n) Line 234  key_make_map(int n)
234          {          {
235            kd[n] = NULL;            kd[n] = NULL;
236          }          }
237    #endif
238    
239    /* 最後の部分は class map を生成する必要ナシ */    /* 最後の部分は class map を生成する必要ナシ */
240    if (n >= 6)    if (n >= 6)
# Line 272  key_make_map(int n) Line 278  key_make_map(int n)
278          kcls[7].map[0x00] |= KCLS_AN;          kcls[7].map[0x00] |= KCLS_AN;
279  }  }
280    
281    #if USE_DT
282  unsigned  unsigned
283  dt_get(int kdn,  dt_get(int kdn,
284             int xn,             int xn,
# Line 302  dt_get(int kdn, Line 309  dt_get(int kdn,
309  #endif  #endif
310    return kd[kdn]->c[n];    return kd[kdn]->c[n];
311  }  }
312    #endif
313    
314  /* マップから文字を拾ってセット */  /* マップから文字を拾ってセット */
315  unsigned  unsigned
# Line 309  key_set(int n, unsigned ch) Line 317  key_set(int n, unsigned ch)
317  {  {
318    int cnt = 0, i;    int cnt = 0, i;
319    
320    #if USE_DT
321    if (3 <= n && n < 7 && kd[n - 3])    if (3 <= n && n < 7 && kd[n - 3])
322          {          {
323            return dt_get(n - 3, 2, 3, ch);            return dt_get(n - 3, 2, 3, ch);
# Line 324  key_set(int n, unsigned ch) Line 333  key_set(int n, unsigned ch)
333            return dt_get(n - 1, 0, 1, ch);            return dt_get(n - 1, 0, 1, ch);
334            return kd[n - 1]->c[1];            return kd[n - 1]->c[1];
335          }          }
336    #endif
337    
338  #if DEBUG>=3  #if DEBUG>=3
339    if (cnt == 0)    if (cnt == 0)
# Line 487  key_inc(int n) Line 497  key_inc(int n)
497    printf("key_inc(n=%d,ck=%02X)\n", n, key[n]);    printf("key_inc(n=%d,ck=%02X)\n", n, key[n]);
498  #endif  #endif
499    
500    #if USE_DT
501    /* 辞書語はインクリメントしていい約束にする */    /* 辞書語はインクリメントしていい約束にする */
502    if (3 <= n && n < 7 && kd[n - 3])    if (3 <= n && n < 7 && kd[n - 3])
503          {          {
# Line 575  key_inc(int n) Line 586  key_inc(int n)
586                  key[n] &= 0x7F;                  key[n] &= 0x7F;
587  #endif  #endif
588          }          }
589    #endif
590    
591    /* 実際に増やしてみる */    /* 実際に増やしてみる */
592    assert(n >= 3);    assert(n >= 3);

Legend:
Removed from v.29  
changed lines
  Added in v.39

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26