Back to index

im-sdk  12.3.91
Classes | Defines | Typedefs | Enumerations | Functions | Variables
sampleja.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include "SunIM.h"

Go to the source code of this file.

Classes

struct  henkan_table3_
struct  MyDataPerDesktop
struct  MyDataPerSession
struct  henkan_table_
struct  henkan_table2_

Defines

#define MAX_AUX   2
#define DEBUG
#define BUFSIZE   256
#define MAXCANDIDATES   40

Typedefs

typedef struct henkan_table3_ henkan_table3
typedef struct henkan_table_ henkan_table
typedef struct henkan_table2_ henkan_table2

Enumerations

enum  { SAMPLE_AUX_PANEL = 0, SAMPLE_AUX_DICT = 1 }

Functions

Bool if_sampleja_OpenIF (iml_if_t *)
Bool if_sampleja_CloseIF (iml_if_t *)
Bool if_sampleja_GetIFValue (iml_if_t *, IMArgList, int)
Bool if_sampleja_SetIFValue (iml_if_t *, IMArgList, int)
Bool if_sampleja_OpenDesktop (iml_desktop_t *, IMArgList, int)
Bool if_sampleja_CloseDesktop (iml_desktop_t *)
Bool if_sampleja_CreateSC (iml_session_t *, IMArgList, int)
Bool if_sampleja_DestroySC (iml_session_t *)
Bool if_sampleja_GetSCValue (iml_session_t *, IMArgList, int)
Bool if_sampleja_SetSCValue (iml_session_t *, IMArgList, int)
IMTextif_sampleja_ResetSC (iml_session_t *)
void if_sampleja_SetSCFocus (iml_session_t *)
void if_sampleja_UnsetSCFocus (iml_session_t *)
void if_sampleja_SendEvent (iml_session_t *, IMInputEvent *ev)
void init_objects ()
void if_GetIfInfo (IMArgList args, int num_args)
Bool receive_keylist (iml_session_t *, IMKeyListEvent *)
void preedit_test (iml_session_t *)
void lookup_test (iml_session_t *)
void aux_start (iml_session_t *, int)
void aux_draw (iml_session_t *, int, int, int *, int, UTFCHAR **)
void aux_done (iml_session_t *, int)
void receive_aux (iml_session_t *, IMAuxDrawCallbackStruct *)
void my_conversion_on (iml_session_t *)
void my_conversion_off (iml_session_t *)
void status_draw (iml_session_t *)
void preedit_draw (iml_session_t *)
void preedit_draw_reverse (iml_session_t *)
void shrink_preedit (iml_session_t *)
void expand_preedit (iml_session_t *)
void caret_move_left (iml_session_t *)
void caret_move_right (iml_session_t *)
void caret_move_home (iml_session_t *)
void caret_move_end (iml_session_t *)
void commit (iml_session_t *)
void commit_onechar (iml_session_t *, int)
void commit_partial (iml_session_t *)
void luc_draw (iml_session_t *)
void lookup_next (iml_session_t *)
void lookup_prev (iml_session_t *)
void lookup_commit (iml_session_t *, int)
void list_test (iml_session_t *)
void to_kana (iml_session_t *)
void to_hira (iml_session_t *)
IMTextmake_preedit_imtext (iml_session_t *)
IMTextmake_imtext (iml_session_t *, UTFCHAR *)
Bool do_convert (iml_session_t *)
void free_objects ()
int UTFCHARLen (UTFCHAR *)
int UTFCHARCpy (UTFCHAR *, UTFCHAR *)
Bool UTFCHARCmp2 (UTFCHAR *, char *, int)
Bool UTFCHARCmp (UTFCHAR *, UTFCHAR *)
void preedit_buf_print (iml_session_t *)
void iml_make_preedit_draw_with_chgpos_inst_test (iml_session_t *)
IMFeedbackListcreate_feedback (iml_session_t *s, int size)
IMFeedbackListcreate_feedback2 (iml_session_t *s, int size)
IMFeedbackListcreate_feedback_with_color (iml_session_t *s, int size, int feedback, int fg, int bg)
void set_feedback_private (IMFeedbackList *, int, int, int, int)
void set_feedback (IMFeedbackList *, int)
int get_feedback (IMFeedbackList *)
void add_dict (MyDataPerDesktop *, UTFCHAR *, UTFCHAR *)
 UTFCHARCat (UTFCHAR *dest, UTFCHAR *str1, UTFCHAR *str2)
void SetFeedback (iml_session_t *s, IMText *text)

Variables

if_methods_t sampleja_methods2
UTFCHAR lename_string [] = {0x30b5, 0x30f3, 0x30d7, 0x30eb, 0x65e5, 0x672c, 0x8a9e, 0x30a8, 0x30f3, 0x30b8, 0x30f3, 0x0}
UTFCHAR jahrn_string [] = {0x65e5, 0x672c, 0x8a9e, 0x0}
static IMLEName lename
static IMLocale locales []
IMObjectDescriptorStructobjects = NULL
char * class_names []
UTFCHAR aux_name_panel [] = {0x30b5, 0x30f3, 0x30d7, 0x30eb, 0xff21, 0xff35, 0xff38, '-', 0x30d1, 0x30cd, 0x30eb, 0}
UTFCHAR aux_name_aux [] = {0x30b5, 0x30f3, 0x30d7, 0x30eb, 0xff21, 0xff35, 0xff38, '-', 0xff21, 0xff35, 0xff38, 0}
UTFCHAR on_string [] = {0x65e5, 0x672c, 0x8a9e, 0x30aa, 0x30f3, 0}
UTFCHAR off_string [] = {0x65e5, 0x672c, 0x8a9e, 0x30aa, 0x30d5, 0}
UTFCHAR title_string [] = {0x9078, 0x629e, 0x30a6, 0x30a3, 0x30f3, 0x30c9, 0x30a6, 0}
UTFCHAR candidate_string [] = {0x9078, 0x629e, 0x30a6, 0x30a3, 0x30f3, 0x30c9, 0x30a6, 0}
UTFCHAR add_string [] = {0x8ffd,0x52a0,0x3057,0x307e,0x3057,0x305f,0x0}
henkan_table htable []
henkan_table2 htable2 []
henkan_table2 htable2_1 []
int hira_table []
int kana_table []
UTFCHAR sample_string [] = {0x53d7, 0x3051, 0x53d6, 0x3063, 0x305f, 0x305e, 0x30fc, 0}
UTFCHAR name1_from [] = {0x3044, 0x3057, 0x3080, 0x3089, 0}
UTFCHAR name1_to [] = {0x77f3, 0x6751, 0}
UTFCHAR name2_from [] = {0x304b, 0x305f, 0x304b, 0x3044, 0}
UTFCHAR name2_to [] = {0x7247, 0x8c9d, 0}
UTFCHAR name3_from [] = {0x305f, 0x3058, 0x307e, 0}
UTFCHAR name3_to [] = {0x7530, 0x5cf6, 0}
UTFCHAR name4_from [] = {0x304f, 0x307e, 0x30fc, 0}
UTFCHAR name4_to [] = {0x30af, 0x30de, 0x30fc, 0}
UTFCHAR name5_from [] = {0x307e, 0x3064, 0x305f, 0x304b, 0x3053, 0}
UTFCHAR name5_to [] = {0x677e, 0x305f, 0x304b, 0x5b50, 0}
UTFCHAR name6_from [] = {0x3064, 0x304e, 0x306e, 0x305b, 0x3060, 0x3044, 0}
UTFCHAR name6_to [] = {0x6b21, 0x306e, 0x4e16, 0x4ee3, 0}
UTFCHAR name7_from [] = {0x3072, 0x304d, 0x3064, 0x304e, 0}
UTFCHAR name7_to [] = {0x5f15, 0x304d, 0x7d99, 0x304e, 0}
henkan_table3 htable3 []

Class Documentation

struct henkan_table3_

Definition at line 222 of file sampleja.c.

Class Members
UTFCHAR * from
UTFCHAR * to
struct MyDataPerDesktop

Definition at line 202 of file NewPY.c.

Collaboration diagram for MyDataPerDesktop:
Class Members
CARD8 actionaux_started
CARD8 aux_locale_id
int aux_start
int aux_started
iml_session_t * auxproxy_session
CARD8 bSentKeymapToAux
iml_session_t * current_session
int engine_id
int gbk_support
IMEArgList ime_args
CARD8 keyboardaux_started
CARD8 lookupaux_started
CARD8 optionaux_started
CARD8 paletteaux_first_trigger_on
CARD8 paletteaux_ready
CARD8 paletteaux_started
int punc
iml_session_t * root_session
CARD8 selectaux_started
int skb
unit_desktop_t * udp
UserPreference user_pref
henkan_table3 * userdict
int wordcount
struct MyDataPerSession

Definition at line 211 of file NewPY.c.

Collaboration diagram for MyDataPerSession:
Class Members
int caret_pos
TClientType client_type
UTFCHAR * commit_buf
int conv_on
UTFCHAR * conversion_string
int hkp_notify_flag
IMEBuffer ime_buffer
int input_mode
TKeyboardAuxStatus keyboardaux_status
char * locale
TLookupAuxStatus lookupaux_status
IMText ** luc_candidates
int luc_current_candidate
IMFeedbackList * luc_fbs_normal
IMFeedbackList * luc_fbs_reverse
IMText ** luc_labels
int luc_nchoices
int luc_start
int luc_top
int luc_type
int max_candidates
TOptionAuxStatus optionaux_status
IMEEngine * p_engine
TPaletteAuxStatus paletteaux_status
UTFCHAR * preedit_buf
IMFeedbackList * preedit_feedback
int preedit_start
UTFCHAR * preedit_string
TIMProtocolType protocol_type
TSelectAuxStatus selectaux_status
SessionCoreStruct session_core
int session_id
UTFCHAR * status_buf
int status_start
char * username
struct henkan_table_

Definition at line 958 of file sampleja.c.

Class Members
int contents
int key
int result
struct henkan_table2_

Definition at line 1050 of file sampleja.c.

Class Members
char contents
int key
int result1
int result2

Define Documentation

#define BUFSIZE   256

Definition at line 507 of file sampleja.c.

#define DEBUG

Definition at line 264 of file sampleja.c.

#define MAX_AUX   2

Definition at line 164 of file sampleja.c.

#define MAXCANDIDATES   40

Definition at line 508 of file sampleja.c.


Typedef Documentation

typedef struct henkan_table_ henkan_table
typedef struct henkan_table2_ henkan_table2
typedef struct henkan_table3_ henkan_table3

Enumeration Type Documentation

anonymous enum
Enumerator:
SAMPLE_AUX_PANEL 
SAMPLE_AUX_DICT 

Definition at line 159 of file sampleja.c.


Function Documentation

void add_dict ( MyDataPerDesktop desktop_data,
UTFCHAR from,
UTFCHAR to 
)

Definition at line 2735 of file sampleja.c.

{
    henkan_table3 *p = (henkan_table3 *) calloc(1, sizeof(henkan_table3));
    int from_len = UTFCHARLen(from);
    int to_len = UTFCHARLen(to);
    p->from = (UTFCHAR *) calloc(1, sizeof(UTFCHAR) * (from_len + 1));
    p->to = (UTFCHAR *) calloc(1, sizeof(UTFCHAR) * (to_len + 1));
    
    UTFCHARCpy(p->from, from);
    UTFCHARCpy(p->to, to);
    
    desktop_data->userdict[desktop_data->wordcount] = p;
    desktop_data->wordcount++;
}

Here is the call graph for this function:

void aux_done ( iml_session_t s,
int  class_name_id 
)

Definition at line 2627 of file sampleja.c.

{
    MyDataPerDesktop *desktop_data = (MyDataPerDesktop *) s->desktop->specific_data;
    if (desktop_data->aux_start[class_name_id] == True) {
        iml_inst *lp;
        IMAuxDoneCallbackStruct *aux = (IMAuxDoneCallbackStruct *) s->If->m->iml_new(s, sizeof(IMAuxDoneCallbackStruct));
       memset(aux, 0, sizeof(IMAuxDoneCallbackStruct));
        aux->aux_name = class_names[class_name_id];
        lp = s->If->m->iml_make_aux_done_inst(s, aux);
        s->If->m->iml_execute(s, &lp);
        printf("Closing AUX\n");
        desktop_data->aux_start[class_name_id] = False;
    } else {
        printf("AUX is already done.\n");
    }
}
void aux_draw ( iml_session_t s,
int  class_name_id,
int  count_integers,
int *  integers,
int  count_strings,
UTFCHAR **  strings 
)

Definition at line 2650 of file sampleja.c.

{
    iml_inst *lp;
    int i, j;
    int len = 7;
    IMText *lts, *lt;
    IMAuxDrawCallbackStruct *aux;
    MyDataPerDesktop *desktop_data;

    if (!s) return;

    desktop_data = (MyDataPerDesktop *) s->desktop->specific_data;
    
    if (desktop_data->aux_start[class_name_id] == False) {
        printf("AUX is not started.\n");
        return;
    }
    aux = (IMAuxDrawCallbackStruct *) s->If->m->iml_new(s, sizeof(IMAuxDrawCallbackStruct));
    memset(aux, 0, sizeof(IMAuxDrawCallbackStruct));
    
    aux->aux_name = class_names[class_name_id];
    
    aux->count_integer_values = count_integers;
    if (aux->count_integer_values) {
        aux->integer_values = (int *) s->If->m->iml_new(s, sizeof(int) * aux->count_integer_values);
        for (i = 0; i < aux->count_integer_values; i++) {
            aux->integer_values[i] = integers[i];
        }
    }
    aux->count_string_values = count_strings;
    if (aux->count_string_values) {
        aux->string_values = lts = (IMText *)
        s->If->m->iml_new(s, sizeof(IMText) * aux->count_string_values);
        memset(aux->string_values, 0, sizeof(IMText) * aux->count_string_values);
        aux->string_values->encoding = UTF16_CODESET;
        
        for (i = 0, lt = lts; i < aux->count_string_values; i++, lt++) {
            len = UTFCHARLen(strings[i]);
            lt->text.utf_chars = (UTFCHAR *) s->If->m->iml_new(s, sizeof(UTFCHAR) * (len + 1));
            lt->char_length = len + 1;
            UTFCHARCpy(lt->text.utf_chars, strings[i]);
        }
    }
    lp = s->If->m->iml_make_aux_draw_inst(s, aux);
    s->If->m->iml_execute(s, &lp);
}

Here is the call graph for this function:

void aux_start ( iml_session_t s,
int  class_name_id 
)

Definition at line 2606 of file sampleja.c.

{
    MyDataPerDesktop *desktop_data = (MyDataPerDesktop *) s->desktop->specific_data;
    if (desktop_data->aux_start[class_name_id] == False) {
        iml_inst *lp;
        IMAuxStartCallbackStruct *aux = (IMAuxStartCallbackStruct *) s->If->m->iml_new(s, sizeof(IMAuxStartCallbackStruct));
       memset(aux, 0, sizeof(IMAuxStartCallbackStruct));
        aux->aux_name = class_names[class_name_id];
        lp = s->If->m->iml_make_aux_start_inst(s, aux);
        s->If->m->iml_execute(s, &lp);
        printf("Starting AUX [%s]\n", class_names[class_name_id]);
        desktop_data->aux_start[class_name_id] = True;
    } else {
        printf("AUX[%s] is already started.\n", class_names[class_name_id]);
    }
}

Definition at line 1948 of file sampleja.c.

{
    int len;
    iml_inst *lp;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    len = UTFCHARLen(session_data->preedit_buf);
    session_data->caret_pos = len;
    
#ifdef notdef
    printf("iml_make_preedit_caret_inst()\n");
    printf("  caret_pos=%d\n", session_data->caret_pos);
#endif
    
    lp = s->If->m->iml_make_preedit_caret_inst(s, session_data->caret_pos);
    s->If->m->iml_execute(s, &lp);
}

Here is the call graph for this function:

Definition at line 1923 of file sampleja.c.

{
    iml_inst *lp;
    int len;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    len = UTFCHARLen(session_data->preedit_buf);
    
    session_data->caret_pos = 0;
    
#ifdef notdef
    printf("iml_make_preedit_caret_inst()\n");
    printf("  caret_pos=%d\n", session_data->caret_pos);
#endif
    
    lp = s->If->m->iml_make_preedit_caret_inst(s, session_data->caret_pos);
    s->If->m->iml_execute(s, &lp);
}

Here is the call graph for this function:

Definition at line 1896 of file sampleja.c.

{
    int len;
    iml_inst *lp;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    len = UTFCHARLen(session_data->preedit_buf);
    if (session_data->caret_pos == -1) {
        session_data->caret_pos = len;
    }
    session_data->caret_pos--;
    if (session_data->caret_pos == -1) {
        session_data->caret_pos = len;
    }
#ifdef notdef
    printf("iml_make_preedit_caret_inst()\n");
    printf("  caret_pos=%d\n", session_data->caret_pos);
#endif
    lp = s->If->m->iml_make_preedit_caret_inst(s, session_data->caret_pos);
    s->If->m->iml_execute(s, &lp);
}

Here is the call graph for this function:

Definition at line 1866 of file sampleja.c.

{
    iml_inst *lp;
    int len;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    len = UTFCHARLen(session_data->preedit_buf);
    if (session_data->caret_pos == -1) {
        session_data->caret_pos = len;
    }
    session_data->caret_pos++;
    
    if (session_data->caret_pos > len) {
        session_data->caret_pos = 0;
    }
#ifdef notdef
    printf("iml_make_preedit_caret_inst()\n");
    printf("  caret_pos=%d\n", session_data->caret_pos);
#endif
    
    lp = s->If->m->iml_make_preedit_caret_inst(s, session_data->caret_pos);
    s->If->m->iml_execute(s, &lp);
}

Here is the call graph for this function:

void commit ( iml_session_t s)
void commit_onechar ( iml_session_t s,
int  achar 
)

Definition at line 1625 of file sampleja.c.

{
    int i;
    iml_inst *lp;
    IMFeedbackList *fbl;
    IMFeedback *fb;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    
    IMText *p = (IMText *) s->If->m->iml_new(s, sizeof(IMText));
    memset(p, 0, sizeof(IMText));
    p->encoding = UTF16_CODESET;
    p->text.utf_chars = (UTFCHAR *) s->If->m->iml_new(s, sizeof(UTFCHAR) * 2);
    p->text.utf_chars[0] = achar;
    p->text.utf_chars[1] = 0;
    p->char_length = 1;
    p->feedback = create_feedback(s, p->char_length);
    lp = s->If->m->iml_make_commit_inst(s, p);
    s->If->m->iml_execute(s, &lp);
}

Here is the call graph for this function:

Definition at line 1649 of file sampleja.c.

{
    int i;
    int len;
    int last_reverse = -1;
    iml_inst *lp;
    iml_inst *rrv = NULL;
    IMText *p;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    len = UTFCHARLen(session_data->preedit_buf);
    
    for (i = 0; i < len; i++) {
        if (get_feedback(&session_data->preedit_feedback[i]) == IMReverse) {
            last_reverse = i;
        }
    }
    
    if (last_reverse == -1 || (last_reverse + 1) == len) {
        /* commit whole preedit */
        commit(s);
        return;
    }
    p = (IMText *) s->If->m->iml_new(s, sizeof(IMText));
    memset(p, 0, sizeof(IMText));
    p->encoding = UTF16_CODESET;
    p->text.utf_chars = (UTFCHAR *) s->If->m->iml_new(s, sizeof(UTFCHAR) * (last_reverse + 1));
    for (i = 0; i <= last_reverse; i++) {
        p->text.utf_chars[i] = session_data->preedit_buf[i];
    }
    
    p->char_length = last_reverse + 1;
    p->feedback = create_feedback(s, p->char_length);
    
    for (i = (last_reverse + 1);; i++) {
        session_data->preedit_buf[i - (last_reverse + 1)] = session_data->preedit_buf[i];
        set_feedback(&session_data->preedit_feedback[i - (last_reverse + 1)],
            get_feedback(&session_data->preedit_feedback[i]));
        if (session_data->preedit_buf[i - (last_reverse + 1)] == 0) {
            break;
        }
    }
    
    /* erase first */
    lp = s->If->m->iml_make_preedit_erase_inst(s);
    s->If->m->iml_link_inst_tail(&rrv, lp);
    
    lp = s->If->m->iml_make_commit_inst(s, p);
    s->If->m->iml_link_inst_tail(&rrv, lp);
    
    s->If->m->iml_execute(s, &rrv);
    
    preedit_draw(s);
    
    session_data->caret_pos = -1;
}

Here is the call graph for this function:

IMFeedbackList* create_feedback ( iml_session_t s,
int  size 
)

Definition at line 338 of file CannaLE.c.

{
    int i;
    IMFeedbackList *feedback;
    IMFeedback *fb;
    
    if (!s) return NULL;

    feedback = ((IMFeedbackList *)
              s->If->m->iml_new(s, sizeof(IMFeedbackList) * size));
    for (i = 0; i < size; i++) {
       IMFeedbackList *fbl = &feedback[i];
       fbl->count_feedbacks = 1;
       fb = ((IMFeedback *) s->If->m->iml_new(s, sizeof(IMFeedback) * 4));
       fbl->feedbacks = fb;
       memset(fbl->feedbacks, 0, sizeof(IMFeedback) * 4);
    }
    return feedback;
}
IMFeedbackList* create_feedback2 ( iml_session_t s,
int  size 
)
IMFeedbackList * create_feedback_with_color ( iml_session_t s,
int  size,
int  feedback,
int  fg,
int  bg 
)

Definition at line 2791 of file sampleja.c.

{
    int i;
    IMFeedbackList *feedback, *fbl;
    feedback = (IMFeedbackList *) create_feedback(s, size);
    for (i = 0; i < size; i++) {
        IMFeedbackList *fbl = &feedback[i];
        set_feedback_private(fbl, normalfeedback, fg, bg, -1);
    }
    
    return feedback;
}

Here is the call graph for this function:

Definition at line 2757 of file sampleja.c.

{
    int i, j;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    MyDataPerDesktop *desktop_data = (MyDataPerDesktop *) s->desktop->specific_data;
    
    for (i = 0; i < desktop_data->wordcount; i++) {
        henkan_table3 *p = desktop_data->userdict[i];
        if (UTFCHARCmp(session_data->preedit_buf, p->from) == True) {
            UTFCHARCpy(session_data->preedit_buf, p->to);
            for (j = 0; j < BUFSIZE; j++) {
                set_feedback(&session_data->preedit_feedback[j], IMReverse);
            }
            preedit_draw(s);
            return True;
        }
    }
    
    for (i = 0; htable3[i].from; i++) {
        if (UTFCHARCmp(session_data->preedit_buf, htable3[i].from) == True) {
            UTFCHARCpy(session_data->preedit_buf, htable3[i].to);
            for (j = 0; j < BUFSIZE; j++) {
                set_feedback(&session_data->preedit_feedback[j], IMReverse);
            }
            preedit_draw(s);
            return True;
        }
    }
    return False;
}

Here is the call graph for this function:

Definition at line 1968 of file sampleja.c.

{
    int i, len;
    int first_underline = -1;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    len = UTFCHARLen(session_data->preedit_buf);
    
    memset(session_data->preedit_string, 0, sizeof(UTFCHAR) * BUFSIZE);
    memset(session_data->conversion_string, 0, sizeof(UTFCHAR) * BUFSIZE);
    
    for (i = 0; i < len; i++) {
        if (get_feedback(&session_data->preedit_feedback[i]) == IMUnderline) {
            first_underline = i;
            break;
        }
    }
    
    if (first_underline != -1) {
        set_feedback(&session_data->preedit_feedback[first_underline], IMReverse);
        preedit_draw(s);
    }
}

Here is the call graph for this function:

void free_objects ( )
int get_feedback ( IMFeedbackList fbl)

Definition at line 380 of file CannaLE.c.

{
    /* returns IM_DECORATION_FEEDBACK */
    IMFeedback *fb = &fbl->feedbacks[0];
    return IM_FEEDBACK_VALUE(fb);
}
void if_GetIfInfo ( IMArgList  args,
int  num_args 
)

Definition at line 110 of file sampleja.c.

{
    int i;
    init_objects();
    for (i = 0; i < num_args; i++, args++) {
        switch (args->id) {
            case IF_VERSION:
                args->value = (IMArgVal) "1.2";
                break;
            case IF_METHOD_TABLE:
                args->value = (IMArgVal) & sampleja_methods2;
                break;
            case IF_LE_NAME:
                args->value = (IMArgVal) & lename;
                break;
            case IF_SUPPORTED_LOCALES:
                args->value = (IMArgVal) & locales;
                break;
            case IF_SUPPORTED_OBJECTS:
                args->value = (IMArgVal) objects;
                break;
            case IF_NEED_THREAD_LOCK:
                args->value = (IMArgVal) False;
                break;
            default:
                break;
            }
    }
}

Here is the call graph for this function:

Definition at line 480 of file sampleja.c.

{
    MyDataPerDesktop *desktop_data = (MyDataPerDesktop *) desktop->specific_data;
    int i;
#ifdef DEBUG
    printf("if_sampleja_CloseDesktop()\n");
    printf("  If=[%x]\n", desktop->If);
    printf("  desktop=[%x]\n", desktop);
    printf("  locale=[%s]\n", desktop->If->locale);
    printf("  if_name=[%s]\n", desktop->If->if_name);
    printf("  USER:%s\n", desktop->user_name);
    printf("  HOST:%s\n", desktop->host_name);
    printf("  DISPLAY:%s\n", desktop->display_id);
#endif
    for (i = 0; i < desktop_data->wordcount; i++) {
        henkan_table3 *p = desktop_data->userdict[i];
        free(p->from);
        free(p->to);
        free(p);
    }
    
    free(desktop_data);
    return True;
}

Definition at line 282 of file sampleja.c.

{
#ifdef DEBUG
    printf("if_sampleja_CloseIF()\n");
    printf("  If=[%x]\n", If);
    printf("  locale=[%s]\n", If->locale);
    printf("  if_name=[%s]\n", If->if_name);
#endif
    
#ifdef notdef
    free_objects();
#endif
    return True;
}

Here is the call graph for this function:

Bool if_sampleja_CreateSC ( iml_session_t s,
IMArgList  args,
int  num_args 
)

Definition at line 511 of file sampleja.c.

{
    iml_desktop_t *desktop = s->desktop;
    IMFeedbackList *fbl;
    IMFeedback *fb;
    int i;
    MyDataPerSession *p = (MyDataPerSession *) calloc(1, sizeof(MyDataPerSession));
    p->status_start = False;
    p->luc_start = False;
    p->preedit_start = False;
    p->preedit_buf = (UTFCHAR *) calloc(1, sizeof(UTFCHAR) * BUFSIZE);
    
    p->conversion_string = (UTFCHAR *) calloc(1, sizeof(UTFCHAR) * BUFSIZE);
    p->preedit_string = (UTFCHAR *) calloc(1, sizeof(UTFCHAR) * BUFSIZE);
    p->luc_candidates = NULL;
    p->luc_labels = NULL;
    p->luc_nchoices = 36;
    p->caret_pos = -1;
    p->max_candidates = MAXCANDIDATES - 1;
    p->luc_current_candidate = 0;
    
    p->preedit_feedback = create_feedback(0, BUFSIZE);
    p->luc_fbs_reverse = create_feedback(0, BUFSIZE);
    p->luc_fbs_normal = create_feedback(0, BUFSIZE);
    
    for (i = 0; i < BUFSIZE; i++) {
        set_feedback(&p->preedit_feedback[i], IMUnderline);
        set_feedback(&p->luc_fbs_reverse[i], IMReverse);
        set_feedback(&p->luc_fbs_normal[i], IMNormal);
    }
    
#ifdef DEBUG
    printf("if_sampleja_CreateSC()\n");
    printf("  If=[%x]\n", desktop->If);
    printf("  desktop=[%x]\n", desktop);
    printf("  locale=[%s]\n", desktop->If->locale);
    printf("  if_name=[%s]\n", desktop->If->if_name);
    
    printf("  BASIC INFO - USER:%s\n", desktop->user_name);
    printf("  BASIC INFO - HOST:%s\n", desktop->host_name);
    printf("  BASIC INFO - DISPLAY:%s\n", desktop->display_id);
    
    for (i = 0; i < num_args; i++, args++) {
        switch (args->id) {
            case UI_USER_NAME:
                if (args->value) {
                    printf("       UI_USER_NAME=%s\n", args->value);
                }
                break;
            case UI_HOST_NAME:
                if (args->value) {
                    printf("       UI_HOST_NAME=%s\n", args->value);
                }
                break;
            case UI_DISPLAY_ID:
                if (args->value) {
                    printf("       UI_DISPLAY_ID=%s\n", args->value);
                }
                break;
            case UI_PROTOCOL_TYPE:
                if (args->value) {
                    printf("       UI_PROTOCOL_TYPE=%s\n", args->value);
                }
                break;
            case UI_XSERVER_VENDOR:
                if (args->value) {
                    printf("       UI_XSERVER_VENDOR=%s\n", args->value);
                }
                break;
            case UI_CLIENT_TYPE:
                if (args->value) {
                    printf("       UI_CLIENT_TYPE=%s\n", args->value);
                }
                break;
            case UI_OS_NAME:
                if (args->value) {
                    printf("       UI_OS_NAME=%s\n", args->value);
                }
                break;
            case UI_OS_ARCH:
                if (args->value) {
                    printf("       UI_OS_ARCH=%s\n", args->value);
                }
                break;
            case UI_OS_VERSION:
                if (args->value) {
                    printf("       UI_OS_VERSION=%s\n", args->value);
                }
            case UI_AUTH_PASSWD:
                if (args->value) {
                    printf("       UI_AUTH_PASSWD=%s\n", args->value);
                }
                break;
            }
    }
#endif
    
    s->specific_data = (void *) p;
    return True;
}

Here is the call graph for this function:

Definition at line 617 of file sampleja.c.

{
    int i;
    MyDataPerSession *p = (MyDataPerSession *) s->specific_data;
    MyDataPerDesktop *desktop_data = (MyDataPerDesktop*) s->desktop->specific_data;

    iml_session_t *j = s->desktop->session_list;
    
    if (p->preedit_buf) {
        free((char *) p->preedit_buf);
    }
    if (p->conversion_string) {
        free((char *) p->conversion_string);
    }
    if (p->preedit_string) {
        free((char *) p->preedit_string);
    }
    if (p->preedit_feedback) {
        free((char *) p->preedit_feedback);
    }
    if (p->luc_fbs_reverse) {
        free((char *) p->luc_fbs_reverse);
    }
    if (p->luc_fbs_normal) {
        free((char *) p->luc_fbs_normal);
    }
    free((char *) p);

    if(desktop_data->auxproxy_session == s){
       printf("auxproxy_session is destroyed\n");
       desktop_data->auxproxy_session = 0;
    }

#ifdef DEBUG
    printf("if_sampleja_DestroySC(s=%x)\n", s);
    printf("  s=[%x]\n", s);
    printf("  If=[%x]\n", s->desktop->If);
    printf("  desktop=[%x]\n", s->desktop);
    printf("  locale=[%s]\n", s->desktop->If->locale);
    printf("  if_name=[%s]\n", s->desktop->If->if_name);
    printf("  USER:%s\n", s->desktop->user_name);
    printf("  HOST:%s\n", s->desktop->host_name);
    
    i = 1;
    
    i = 1;
    printf("  == Remaining Sessions START ==\n");
    while (j) {
        if (j == s) {
        } else {
            printf("           session %d = %x\n", i, j);
        }
        
        
        if (j->next) {
            j = j->next;
        } else {
            break;
        }
        i++;
    }
    printf("  == Remaining Sessions END ==\n");
#endif
    return True;
}
Bool if_sampleja_GetIFValue ( iml_if_t If,
IMArgList  args,
int  num_args 
)

Definition at line 357 of file sampleja.c.

{
    int i;
#ifdef DEBUG
    printf("if_sampleja_GetIFValue()\n");
    printf("  If=[%x]\n", If);
    printf("  locale=[%s]\n", If->locale);
    printf("  if_name=[%s]\n", If->if_name);
#endif
    return True;
}
Bool if_sampleja_GetSCValue ( iml_session_t s,
IMArgList  args,
int  num_args 
)

Definition at line 686 of file sampleja.c.

{
    int i;
    IMArg *p = args;
    
    static int charsubset[] = {
        67,                 /* LATIN */
        47,                 /* HIRAGANA */
        48,                 /* KATAKANA */
        71,                 /* KANJI */
        0
    };
    
#ifdef DEBUG
    printf("if_sampleja_GetSCValue(s=%x)\n", s);
    printf("  s=[%x]\n", s);
    printf("  If=[%x]\n", s->desktop->If);
    printf("  desktop=[%x]\n", s->desktop);
    printf("  locale=[%s]\n", s->desktop->If->locale);
    printf("  if_name=[%s]\n", s->desktop->If->if_name);
    printf("  USER:%s\n", s->desktop->user_name);
    printf("  HOST:%s\n", s->desktop->host_name);
#endif
    for (i = 0; i < num_args; i++, p++) {
        switch (p->id) {
            case SC_SUPPORTED_CHARACTER_SUBSETS:
                /* specify CHARACTER_SUBSETS */
                p->value = (IMArgVal) charsubset;
                break;
            default:
                break;
            }
    }
    return True;
}
Bool if_sampleja_OpenDesktop ( iml_desktop_t desktop,
IMArgList  args,
int  num_args 
)

Definition at line 395 of file sampleja.c.

{
    MyDataPerDesktop *desktop_data = (MyDataPerDesktop *) calloc(1, sizeof(MyDataPerDesktop));
    int i;
#ifdef DEBUG
    printf("if_sampleja_OpenDesktop()\n");
    printf("  If=[%x]\n", desktop->If);
    printf("  desktop=[%x]\n", desktop);
    printf("  locale=[%s]\n", desktop->If->locale);
    printf("  if_name=[%s]\n", desktop->If->if_name);
    
    printf("  BASIC INFO - USER:%s\n", desktop->user_name);
    printf("  BASIC INFO - HOST:%s\n", desktop->host_name);
    printf("  BASIC INFO - DISPLAY:%s\n", desktop->display_id);
    
    for (i = 0; i < num_args; i++, args++) {
        switch (args->id) {
            case UI_USER_NAME:
                if (args->value) {
                    printf("       UI_USER_NAME=%s\n", args->value);
                }
                break;
            case UI_HOST_NAME:
                if (args->value) {
                    printf("       UI_HOST_NAME=%s\n", args->value);
                }
                break;
            case UI_DISPLAY_ID:
                if (args->value) {
                    printf("       UI_DISPLAY_ID=%s\n", args->value);
                }
                break;
            case UI_PROTOCOL_TYPE:
                if (args->value) {
                    printf("       UI_PROTOCOL_TYPE=%s\n", args->value);
                }
                break;
            case UI_CLIENT_TYPE:
                if (args->value) {
                    printf("       UI_CLIENT_TYPE=%s\n", args->value);
                }
                break;
            case UI_XSERVER_VENDOR:
                if (args->value) {
                    printf("       UI_XSERVER_VENDOR=%s\n", args->value);
                }
                break;
            case UI_OS_NAME:
                if (args->value) {
                    printf("       UI_OS_NAME=%s\n", args->value);
                }
                break;
            case UI_OS_ARCH:
                if (args->value) {
                    printf("       UI_OS_ARCH=%s\n", args->value);
                }
                break;
            case UI_OS_VERSION:
                if (args->value) {
                    printf("       UI_OS_VERSION=%s\n", args->value);
                }
                break;
            case UI_AUTH_PASSWD:
                if (args->value) {
                    printf("       UI_AUTH_PASSWD=%s\n", args->value);
                }
                break;
            }
    }
#endif
    
    
    for (i = 0; i < MAX_AUX; i++) {
        desktop_data->aux_start[i] = False;
    }
    desktop_data->auxproxy_session = 0;
    desktop->specific_data = (void *) desktop_data;
    return True;
}

Definition at line 267 of file sampleja.c.

{
#ifdef DEBUG
    printf("if_sampleja_OpenIF()\n");
    printf("  If=[%x]\n", If);
    printf("  locale=[%s]\n", If->locale);
    printf("  if_name=[%s]\n", If->if_name);
#endif
    init_objects();
    return True;
}

Here is the call graph for this function:

Definition at line 840 of file sampleja.c.

{
    int i;
    iml_inst *lp;
    IMText *p = make_preedit_imtext(s);
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    
#ifdef DEBUG
    printf("if_sampleja_ResetSC(s=%x)\n", s);
    printf("  s=[%x]\n", s);
    printf("  If=[%x]\n", s->desktop->If);
    printf("  desktop=[%x]\n", s->desktop);
    printf("  locale=[%s]\n", s->desktop->If->locale);
    printf("  if_name=[%s]\n", s->desktop->If->if_name);
    printf("  USER:%s\n", s->desktop->user_name);
    printf("  HOST:%s\n", s->desktop->host_name);
    printf("  DISPLAY:%s\n", s->desktop->display_id);
#endif
    
    /*
    * when you return IMText for commit string, you need to call
    * iml_make_preedit_erase_inst() here.
    */
    lp = s->If->m->iml_make_preedit_erase_inst(s);
    s->If->m->iml_execute(s, &lp);
    
    /*
    * reset buffer
    */
    for (i = 0; i < BUFSIZE; i++) {
        set_feedback(&session_data->preedit_feedback[i], IMUnderline);
    }
    memset(session_data->preedit_buf, 0, sizeof(UTFCHAR) * BUFSIZE);
    memset(session_data->preedit_string, 0, sizeof(UTFCHAR) * BUFSIZE);
    memset(session_data->conversion_string, 0, sizeof(UTFCHAR) * BUFSIZE);
    session_data->caret_pos = -1;
    
    /*
    * return committed string
    */
    if (p->char_length) {
        return p;
    }
    return (IMText *) NULL;
}

Here is the call graph for this function:

Definition at line 931 of file sampleja.c.

{
#ifdef DEBUG
    printf("if_sampleja_SendEvent s=%x ev=%x\n", s, ev);
#endif
    if (ev) {
        if (ev->type == IM_EventKeyList) {
            if (receive_keylist(s, (IMKeyListEvent *) ev) == False) {
                IMKeyListEvent *keylist = (IMKeyListEvent *) ev;
                iml_inst *lp = s->If->m->iml_make_keypress_inst(s, (IMKeyEventStruct *) keylist->keylist);
                s->If->m->iml_execute(s, &lp);
            }
        } else if (ev->type == IM_EventAux) {
            IMAuxEvent *aux = (IMAuxEvent *) ev;
            IMAuxDrawCallbackStruct *data = aux->aux;
            receive_aux(s, data);
        } else if (ev->type == IM_EventString) {
            /* String Event */
        } else if (ev->type == IM_EventText) {
            /* Text Event */
        }
    }
}

Here is the call graph for this function:

Bool if_sampleja_SetIFValue ( iml_if_t If,
IMArgList  args,
int  num_args 
)

Definition at line 374 of file sampleja.c.

{
    int i;
#ifdef DEBUG
    printf("if_sampleja_SetIFValue()\n");
    printf("  If=[%x]\n", If);
    printf("  locale=[%s]\n", If->locale);
    printf("  if_name=[%s]\n", If->if_name);
#endif
    for (i = 0; i < num_args; i++, args++) {
        switch (args->id) {
        }
    }
    return True;
}

Definition at line 889 of file sampleja.c.

{
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    MyDataPerDesktop *desktop_data = (MyDataPerDesktop *) s->desktop->specific_data;
#ifdef DEBUG
    printf("if_sampleja_SetSCFocus()\n");
    printf("  s=[%x]\n", s);
    printf("  If=[%x]\n", s->desktop->If);
    printf("  desktop=[%x]\n", s->desktop);
    printf("  locale=[%s]\n", s->desktop->If->locale);
    printf("  if_name=[%s]\n", s->desktop->If->if_name);
    printf("  USER:%s\n", s->desktop->user_name);
    printf("  HOST:%s\n", s->desktop->host_name);
    printf("  DISPLAY:%s\n", s->desktop->display_id);
#endif
    status_draw(s);
}

Here is the call graph for this function:

Bool if_sampleja_SetSCValue ( iml_session_t s,
IMArgList  args,
int  num_args 
)

Definition at line 791 of file sampleja.c.

{
    int i;
    IMArg *p = args;
    MyDataPerDesktop *desktop_data = (MyDataPerDesktop *) s->desktop->specific_data;

#ifdef DEBUG
    printf("if_sampleja_SetSCValue()\n");
    printf("  s=[%x]\n", s);
    printf("  If=[%x]\n", s->desktop->If);
    printf("  desktop=[%x]\n", s->desktop);
    printf("  locale=[%s]\n", s->desktop->If->locale);
    printf("  if_name=[%s]\n", s->desktop->If->if_name);
    printf("  USER:%s\n", s->desktop->user_name);
    printf("  HOST:%s\n", s->desktop->host_name);
#endif
    for (i = 0; i < num_args; i++, p++) {
        switch (p->id) {
            case SC_TRIGGER_ON_NOTIFY:
                my_conversion_on(s);
                break;
                
            case SC_TRIGGER_OFF_NOTIFY:
                my_conversion_off(s);
                break;
                
            case SC_REALIZE:
                if (!desktop_data->auxproxy_session){
                    desktop_data->auxproxy_session = s;
                  printf("new auxproxy_session %x count=%d\n", desktop_data->auxproxy_session, s->desktop->session_count);
                    if (getenv("DONOTSTART_AUX_AT_SC_REALIZE") == NULL) {
                        aux_start(desktop_data->auxproxy_session, SAMPLE_AUX_PANEL);
                    }
                }
                break;
            case SC_LOOKUP_LABELTYPE:
                break;
            default:
                break;
            }
    }
    return True;
}

Here is the call graph for this function:

Definition at line 910 of file sampleja.c.

{
#ifdef DEBUG
    printf("if_sampleja_UnsetSCFocus()\n");
    printf("  s=[%x]\n", s);
    printf("  If=[%x]\n", s->desktop->If);
    printf("  desktop=[%x]\n", s->desktop);
    printf("  locale=[%s]\n", s->desktop->If->locale);
    printf("  if_name=[%s]\n", s->desktop->If->if_name);
    printf("  USER:%s\n", s->desktop->user_name);
    printf("  HOST:%s\n", s->desktop->host_name);
    printf("  DISPLAY:%s\n", s->desktop->display_id);
#endif
    /*
    * status_draw(s);
    */
}

Definition at line 2174 of file sampleja.c.

{
    iml_inst *lp;
    iml_inst *rrv = NULL;
    int i;
    UTFCHAR test_string[] = {0x30aa, 0x30f3, 0x0};
    
    /*
    * replacement chg_pos=1 chg_len=3 to text (len=2)
    */
    
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    IMText *p = (IMText *) s->If->m->iml_new(s, sizeof(IMText));
    int len = 2;

    memset(p, 0, sizeof(IMText));
    p->encoding = UTF16_CODESET;
    p->text.utf_chars = (UTFCHAR *) s->If->m->iml_new(s, sizeof(UTFCHAR) * (len + 1));
    UTFCHARCpy(p->text.utf_chars, test_string);
    p->char_length = len;
    p->feedback = create_feedback(s, p->char_length);
    for (i = 0; i < p->char_length; i++) {
        set_feedback(&p->feedback[i], IMUnderline);
    }
    lp = s->If->m->iml_make_preedit_draw_with_chgpos_inst(s,
        p,
        1,
        4,
        0);
    s->If->m->iml_link_inst_tail(&rrv, lp);
    s->If->m->iml_execute(s, &rrv);
    
    /*
    * sync preedit
    */
    for (i = 0; i < s->PreEditTextInfo.text->char_length; i++) {
        session_data->preedit_buf[i] = s->PreEditTextInfo.text->text.utf_chars[i];
        session_data->preedit_feedback[i] = s->PreEditTextInfo.text->feedback[i];
    }
    session_data->preedit_buf[i] = 0;
}

Here is the call graph for this function:

void init_objects ( )
void list_test ( iml_session_t s)

Definition at line 1750 of file sampleja.c.

{
    iml_session_t *p = s->desktop->session_list;
    while (p) {
        iml_inst *lp = p->If->m->iml_make_status_draw_inst(p, make_imtext(p, candidate_string));
        p->If->m->iml_execute(p, &lp);
        
        if (p->next)
            p = p->next;
        else
        break;
    }
}

Here is the call graph for this function:

void lookup_commit ( iml_session_t s,
int  index 
)

Definition at line 2217 of file sampleja.c.

{
    int i;
    iml_inst *lp;
    iml_inst *rrv = NULL;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    IMText **candidates = session_data->luc_candidates;
    index += session_data->luc_top;
    
    lp = s->If->m->iml_make_lookup_done_inst(s);
    s->If->m->iml_link_inst_tail(&rrv, lp);
    session_data->luc_current_candidate = 0;
    
    /* erase first */
    lp = s->If->m->iml_make_preedit_erase_inst(s);
    s->If->m->iml_link_inst_tail(&rrv, lp);
    
    lp = s->If->m->iml_make_commit_inst(s, candidates[index]);
    s->If->m->iml_link_inst_tail(&rrv, lp);
    
    s->If->m->iml_execute(s, &rrv);
    
    for (i = 0; i < BUFSIZE; i++) {
        set_feedback(&session_data->preedit_feedback[i], IMUnderline);
    }
    
    if (session_data->preedit_string[0]) {
        UTFCHARCpy(session_data->preedit_buf, session_data->preedit_string);
        session_data->preedit_buf[UTFCHARLen(session_data->preedit_string)] = 0;
        preedit_draw(s);
    } else {
        memset(session_data->preedit_buf, 0, sizeof(UTFCHAR) * BUFSIZE);
    }
    
    memset(session_data->preedit_string, 0, sizeof(UTFCHAR) * BUFSIZE);
    memset(session_data->conversion_string, 0, sizeof(UTFCHAR) * BUFSIZE);
    
    session_data->caret_pos = -1;
    
    session_data->luc_start = False;
    s->If->m->iml_delete2(s);
}

Here is the call graph for this function:

void lookup_next ( iml_session_t s)

Definition at line 2273 of file sampleja.c.

{
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    session_data->luc_top += session_data->luc_nchoices;
    session_data->luc_current_candidate = 0;
    if (session_data->luc_top > session_data->max_candidates) {
        session_data->luc_top = 0;
    }
}
void lookup_prev ( iml_session_t s)

Definition at line 2261 of file sampleja.c.

{
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    session_data->luc_top -= session_data->luc_nchoices;
    session_data->luc_current_candidate = 0;
    if (session_data->luc_top < 0) {
        int p = session_data->max_candidates % session_data->luc_nchoices;
        session_data->luc_top = session_data->max_candidates - p;
    }
}
void lookup_test ( iml_session_t s)

Definition at line 2284 of file sampleja.c.

{
    int i;
    int j = 0;
    int k = 0;
    iml_inst *lp;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    IMLookupDrawCallbackStruct *draw;
    IMLookupStartCallbackStruct *start;
    int max_len = 0;
    IMText **candidates;
    IMText *current_text;
    IMText **labels;
    int len;
    UTFCHAR buf[BUFSIZE];
    
    /* duplicate */
    s->If->m->iml_delete2(s);
    
    session_data->luc_candidates = (IMText **) s->If->m->iml_new2(s, MAXCANDIDATES * sizeof(IMText));
    memset(session_data->luc_candidates, 0, MAXCANDIDATES * sizeof(IMText));
    
    candidates = session_data->luc_candidates;
    
    if (session_data->conversion_string[0]) {
        UTFCHARCpy(buf, session_data->conversion_string);
    } else {
        return;
    }
    
    for (i = 0; i < MAXCANDIDATES; i++) {
        char tmp[3];
        sprintf(tmp, "%d", i);
        candidates[i] = (IMText *) s->If->m->iml_new2(s, sizeof(IMText));
        memset(candidates[i], 0, sizeof(IMText));
        candidates[i]->encoding = UTF16_CODESET;
        candidates[i]->char_length = UTFCHARLen(buf) + strlen(tmp);
        candidates[i]->text.utf_chars = (UTFCHAR *) s->If->m->iml_new2(s,
            sizeof(UTFCHAR) * (candidates[i]->char_length + 1));
        memset(candidates[i]->text.utf_chars, 0, sizeof(UTFCHAR) * (candidates[i]->char_length + 1));
        UTFCHARCpy(candidates[i]->text.utf_chars, buf);
        if (i > 9) {
            candidates[i]->text.utf_chars[candidates[i]->char_length - 2] = tmp[0];
            candidates[i]->text.utf_chars[candidates[i]->char_length - 1] = tmp[1];
        } else {
            candidates[i]->text.utf_chars[candidates[i]->char_length - 1] = tmp[0];
        }
        candidates[i]->feedback = create_feedback2(s, candidates[i]->char_length);
        if (i == session_data->luc_current_candidate) {
            for (j = 0; j < candidates[i]->char_length; j++) {
                set_feedback(&candidates[i]->feedback[j], IMReverse);
            }
        } else {
            for (j = 0; j < candidates[i]->char_length; j++) {
                if (0) {
                    set_feedback(&candidates[i]->feedback[j], IMNormal);
                }
                set_feedback_private(&candidates[i]->feedback[j],
                    IMNormal,
                    IM_RGB_COLOR(255, 0, 0),
                    IM_RGB_COLOR(255, 192, 203),
                    -1);
            }
        }
    }
    
    current_text = candidates[session_data->luc_current_candidate];
    
    session_data->luc_labels = (IMText **) s->If->m->iml_new2(s, MAXCANDIDATES * sizeof(IMText));
    memset(session_data->luc_labels, 0, MAXCANDIDATES * sizeof(IMText));
    
    j = 0;
    labels = session_data->luc_labels;
    for (i = '1'; i <= '9'; i++, j++) {
        labels[j] = (IMText *) s->If->m->iml_new2(s, sizeof(IMText));
       memset(labels[j], 0, sizeof(IMText));
        labels[j]->encoding = UTF16_CODESET;
        labels[j]->char_length = 1;
        labels[j]->text.utf_chars = (UTFCHAR *) s->If->m->iml_new2(s,
            sizeof(UTFCHAR) * (labels[j]->char_length + 1));
        labels[j]->text.utf_chars[0] = (UTFCHAR) i;
        labels[j]->feedback = create_feedback2(s, labels[j]->char_length);
        
        for (k = 0; k < labels[j]->char_length; k++) {
            set_feedback_private(&labels[j]->feedback[k],
                IMNormal,
                IM_RGB_COLOR(0, 0, 0),
                IM_RGB_COLOR(192, 192, 192),
                -1);
        }
    }
    for (i = 'A'; i <= 'Z'; i++, j++) {
        labels[j] = (IMText *) s->If->m->iml_new2(s, sizeof(IMText));
       memset(labels[j], 0, sizeof(IMText));
        labels[j]->char_length = 1;
        labels[j]->text.utf_chars = (UTFCHAR *) s->If->m->iml_new2(s,
            sizeof(UTFCHAR) * (labels[j]->char_length + 1));
        labels[j]->text.utf_chars[0] = (UTFCHAR) i;
        labels[j]->feedback = create_feedback2(s, labels[j]->char_length);
        for (k = 0; k < labels[j]->char_length; k++) {
            set_feedback_private(&labels[j]->feedback[k],
                IMNormal,
                IM_RGB_COLOR(0, 0, 0),
                IM_RGB_COLOR(192, 192, 192),
                -1);
        }
    }
    for (i = 'a'; i <= 'z'; i++, j++) {
        labels[j] = (IMText *) s->If->m->iml_new2(s, sizeof(IMText));
       memset(labels[j], 0, sizeof(IMText));
        labels[j]->encoding = UTF16_CODESET;
        labels[j]->char_length = 1;
        labels[j]->text.utf_chars = (UTFCHAR *) s->If->m->iml_new2(s,
            sizeof(UTFCHAR) * (labels[j]->char_length + 1));
        labels[j]->text.utf_chars[0] = (UTFCHAR) i;
        labels[j]->feedback = create_feedback2(s, labels[j]->char_length);
        for (k = 0; k < labels[j]->char_length; k++) {
            set_feedback_private(&labels[j]->feedback[k],
                IMNormal,
                IM_RGB_COLOR(0, 0, 0),
                IM_RGB_COLOR(192, 192, 192),
                -1);
        }
    }
    labels = session_data->luc_labels;
    
    if (session_data->luc_start == False) {
        session_data->luc_top = 0;
        start = (IMLookupStartCallbackStruct *) s->If->m->iml_new(s, sizeof(IMLookupStartCallbackStruct));
       memset(start, 0, sizeof(IMLookupStartCallbackStruct));
        start->whoIsMaster = IMIsMaster;
        session_data->luc_type = IMIsMaster;
        start->IMPreference = (LayoutInfo *) s->If->m->iml_new(s, sizeof(LayoutInfo));
       memset(start->IMPreference, 0, sizeof(LayoutInfo));
        start->IMPreference->choice_per_window = 36;
        start->IMPreference->ncolumns = 6;
        start->IMPreference->nrows = 6;
        start->IMPreference->drawUpDirection = DrawUpHorizontally;
        start->IMPreference->whoOwnsLabel = IMOwnsLabel;
        start->CBPreference = NULL;
        lp = s->If->m->iml_make_lookup_start_inst(s, start);
        s->If->m->iml_execute(s, &lp);
        session_data->luc_start = True;
    }
    draw = (IMLookupDrawCallbackStruct *) s->If->m->iml_new(s, sizeof(IMLookupDrawCallbackStruct));
    memset(draw, 0, sizeof(IMLookupDrawCallbackStruct));
    draw->index_of_first_candidate = 0;
    draw->index_of_last_candidate = 35;
    draw->n_choices = draw->index_of_last_candidate - draw->index_of_first_candidate + 1;
    
#ifdef notdef
    draw->title = (IMText *) NULL;
#else
    draw->title = (IMText *) s->If->m->iml_new(s, sizeof(IMText));
    memset(draw->title, 0, sizeof(IMText));
    draw->title->encoding = UTF16_CODESET;
    draw->title->char_length = UTFCHARLen(title_string);
    draw->title->text.utf_chars = (UTFCHAR *) s->If->m->iml_new(s, sizeof(IMText) * (draw->title->char_length + 1));
    UTFCHARCpy(draw->title->text.utf_chars, title_string);
    draw->title->feedback = create_feedback(s, draw->title->char_length);
#endif
    
    draw->choices = (IMChoiceObject *) s->If->m->iml_new(s, draw->n_choices * sizeof(IMChoiceObject));
    memset(draw->choices, 0, draw->n_choices * sizeof(IMChoiceObject));
    
    for (i = 0; i < draw->n_choices; i++) {
        IMText *vt;         /* for value */
        IMText *lt;         /* for label */
        vt = draw->choices[i].value = candidates[i + session_data->luc_top];
        lt = draw->choices[i].label = labels[i];
        
        printf("candidates[%d]=%x\n", i + session_data->luc_top,
            candidates[i + session_data->luc_top]);
        
        if (max_len < vt->char_length)
            max_len = vt->char_length;
        
        if (i + session_data->luc_top == session_data->max_candidates) {
            draw->index_of_first_candidate = 0;
            draw->index_of_last_candidate = i;
            draw->n_choices = i + 1;
            break;
        }
    }
    draw->max_len = max_len;
    draw->max_len = 20;
    draw->index_of_current_candidate = session_data->luc_current_candidate;
    
    printf("session_data->luc_top=%x\n", session_data->luc_top);
    
    printf("draw->index_of_first_candidate=%x\n", draw->index_of_first_candidate);
    printf("draw->index_of_last_candidate=%x\n", draw->index_of_last_candidate);
    printf("draw->n_choices=%x\n", draw->n_choices);
    printf("draw->choices=%x\n", draw->choices);
    printf("draw->choices->label=%x\n", draw->choices->label);
    printf("draw->max_len=%x\n", max_len);
    printf("draw->index_of_current_candidate=%x\n", session_data->luc_current_candidate);
    
    lp = s->If->m->iml_make_lookup_draw_inst(s, draw);
    s->If->m->iml_execute(s, &lp);
    
    {
        int last_reverse = 0;
        UTFCHAR tmp[BUFSIZE];
        UTFCHAR tmp2[BUFSIZE];
        len = UTFCHARLen(session_data->preedit_buf);
        
        j = 0;
        UTFCHARCpy(tmp, candidates[session_data->luc_top + session_data->luc_current_candidate]->text.utf_chars);
        
        printf("##\n");
        preedit_buf_print(s);
        printf("##\n");
        
        for (i = 0; i < len; i++) {
            printf("%d %x\n", get_feedback(&session_data->preedit_feedback[i]));
            if (get_feedback(&session_data->preedit_feedback[i]) == IMUnderline) {
                last_reverse = 1;
            }
            if (last_reverse) {
                tmp2[j] = session_data->preedit_buf[i];
                printf("U %d = %x\n", j, tmp2[j]);
                j++;
            }
        }
        tmp2[j] = 0;
        printf("U %d = %x\n", j, tmp2[j]);
        
        UTFCHARCat(session_data->preedit_buf, tmp, tmp2);
        
        printf("##\n");
        preedit_buf_print(s);
        printf("##\n");
        
        for (i = 0; i < UTFCHARLen(tmp); i++) {
            set_feedback(&session_data->preedit_feedback[i], IMReverse);
        }
        for (i = UTFCHARLen(tmp); i < UTFCHARLen(session_data->preedit_buf); i++) {
            set_feedback(&session_data->preedit_feedback[i], IMUnderline);
        }
        preedit_draw(s);
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void luc_draw ( iml_session_t )

Here is the caller graph for this function:

IMText* make_imtext ( iml_session_t s,
UTFCHAR u 
)

Definition at line 1198 of file NewPY.c.

{
    int len;
    IMText *p = (IMText *) s->If->m->iml_new(s, sizeof(IMText));
    memset(p, 0, sizeof(IMText));
    p->encoding = UTF16_CODESET;
    len = UTFCHARLen(u);
    p->text.utf_chars = (UTFCHAR *) s->If->m->iml_new(s, sizeof(UTFCHAR) * (len + 1));
    UTFCHARCpy(p->text.utf_chars, u);
    p->char_length = len;
    p->feedback = create_feedback(s, p->char_length);
    return p;
}
void preedit_draw ( iml_session_t s)

Definition at line 2020 of file sampleja.c.

{
    int i, len;
    int last_reverse = -1;
    int buf[BUFSIZE];
    int fbs[BUFSIZE];
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    len = UTFCHARLen(session_data->preedit_buf);
    
    /*
    * when reversed once, next is convert
    */
    
    for (i = 0; i < len; i++) {
        if (get_feedback(&session_data->preedit_feedback[i]) == IMReverse) {
            last_reverse = i;
        }
    }
    
    if (last_reverse != -1) {
        if (session_data->conversion_string[0] != 0) {
            lookup_test(s);
            return;
        }
        for (i = 0; i <= last_reverse; i++) {
            buf[i] = session_data->preedit_buf[i];
#ifdef notdef
            printf("buf[%d]=%x\n", i, buf[i]);
#endif
            fbs[i] = IMReverse;
            session_data->conversion_string[i] = buf[i];
        }
        
        buf[i] = '0';
#ifdef notdef
        printf("buf[%d]=%x\n", i, buf[i]);
#endif
        fbs[i] = IMReverse;
        session_data->conversion_string[i] = 0;
        
        if (last_reverse <= UTFCHARLen(session_data->preedit_buf)) {
            for (i = last_reverse + 1; i < len; i++) {
                buf[i + 1] = session_data->preedit_buf[i];
                fbs[i + 1] = IMUnderline;
                session_data->preedit_string[i - last_reverse - 1] = session_data->preedit_buf[i];
            }
            buf[i + 1] = 0;
            session_data->preedit_string[i - last_reverse - 1] = 0;
            
            for (i = 0; i < len + 1; i++) {
                session_data->preedit_buf[i] = buf[i];
                set_feedback(&session_data->preedit_feedback[i], fbs[i]);
            }
            
            session_data->preedit_buf[i] = 0;
            preedit_buf_print(s);
        }
        preedit_draw(s);
        return;
    }
    for (i = 0; i < len; i++) {
        set_feedback(&session_data->preedit_feedback[i], IMReverse);
    }
    preedit_draw(s);
}

Here is the call graph for this function:

void set_feedback ( IMFeedbackList fbl,
int  normalfeedback 
)

Definition at line 1611 of file NewPY.c.

void set_feedback_private ( IMFeedbackList fbl,
int  normalfeedback,
int  fg,
int  bg,
int  underline 
)

Definition at line 388 of file CannaLE.c.

{
    int count = 0;
    IMFeedback *fb;
    
    fb = &fbl->feedbacks[count];
    IM_FEEDBACK_TYPE(fb) = IM_DECORATION_FEEDBACK;
    IM_FEEDBACK_VALUE(fb) = normalfeedback;
    count++;
    
#ifdef USE_COLOR_FEEDBACK

    if (fg != -1) {
       fb = &fbl->feedbacks[count];
       IM_FEEDBACK_TYPE(fb) = IM_FOREGROUND_RGB_FEEDBACK;
       IM_FEEDBACK_VALUE(fb) = fg;
       count++;
    }
    if (bg != -1) {
       fb = &fbl->feedbacks[count];
       IM_FEEDBACK_TYPE(fb) = IM_BACKGROUND_RGB_FEEDBACK;
       IM_FEEDBACK_VALUE(fb) = bg;
       count++;
    }
    if (underline != -1) {
       fb = &fbl->feedbacks[count];
       IM_FEEDBACK_TYPE(fb) = IM_UNDERLINE_RGB_FEEDBACK;
       IM_FEEDBACK_VALUE(fb) = underline;
       count++;
    }

#endif
    IM_FEEDBACK_COUNT(fbl) = count;
}
void SetFeedback ( iml_session_t s,
IMText text 
)

Definition at line 2947 of file sampleja.c.

{
    int i;
    IMFeedbackList *fbl;
    IMFeedback *fb;
    int size;
    
    size = text->char_length;
    text->feedback = (IMFeedbackList *) s->If->m->iml_new(s,
                            sizeof(IMFeedbackList) * size);
    
    /* set color for each character */
    for (i = 0; i < size; i++) {
        fbl = &text->feedback[i];
        fbl->count_feedbacks = 3;  /* IM_DECORATION_FEEDBACK,
                                    * IM_FOREGROUND_RGB_FEEDBACK,
                                    * IM_BACKGROUND_RGB_FEEDBACK */

        fbl->feedbacks = (IMFeedback *) s->If->m->iml_new(s,
                            sizeof(IMFeedback) * fbl->count_feedbacks);
        
        /*
        * normal decolation, IM_DECORATION_FEEDBACK is required in
        * the first element
        */
        fb = &fbl->feedbacks[0];
        IM_FEEDBACK_TYPE(fb) = IM_DECORATION_FEEDBACK;
        IM_FEEDBACK_VALUE(fb) = IMNormal;
        
        /* foreground is blue */
        fb = &fbl->feedbacks[1];
        IM_FEEDBACK_TYPE(fb) = IM_FOREGROUND_RGB_FEEDBACK;
        IM_FEEDBACK_VALUE(fb) = IM_RGB_COLOR(0, 0, 255);
        
        /* background is blue */
        fb = &fbl->feedbacks[2];
        IM_FEEDBACK_TYPE(fb) = IM_BACKGROUND_RGB_FEEDBACK;
        IM_FEEDBACK_VALUE(fb) = IM_RGB_COLOR(255, 255, 255);
    }
}

Definition at line 1995 of file sampleja.c.

{
    int i, len;
    int last_reverse = -1;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    len = UTFCHARLen(session_data->preedit_buf);
    
    memset(session_data->preedit_string, 0, sizeof(UTFCHAR) * BUFSIZE);
    memset(session_data->conversion_string, 0, sizeof(UTFCHAR) * BUFSIZE);
    
    for (i = 0; i < len; i++) {
        if (get_feedback(&session_data->preedit_feedback[i]) == IMReverse) {
            last_reverse = i;
        }
    }
    
    if (last_reverse != -1) {
        set_feedback(&session_data->preedit_feedback[last_reverse], IMUnderline);
        preedit_draw(s);
    }
}

Here is the call graph for this function:

void status_draw ( iml_session_t s)
void to_hira ( iml_session_t s)

Definition at line 1583 of file sampleja.c.

{
    int i, j;
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    
    for (i = 0; session_data->preedit_buf[i]; i++) {
        int hira = session_data->preedit_buf[i];
        for (j = 0; kana_table[j]; j++) {
            if (session_data->preedit_buf[i] == kana_table[j]) {
                hira = hira_table[j];
            }
        }
        session_data->preedit_buf[i] = hira;
    }
    
    preedit_draw(s);
}

Here is the call graph for this function:

void to_kana ( iml_session_t s)

Definition at line 1604 of file sampleja.c.

{
    MyDataPerSession *session_data = (MyDataPerSession *) s->specific_data;
    
    int i, j;
    for (i = 0; session_data->preedit_buf[i]; i++) {
        int kana = session_data->preedit_buf[i];
        for (j = 0; hira_table[j]; j++) {
            if (session_data->preedit_buf[i] == hira_table[j]) {
                kana = kana_table[j];
            }
        }
        session_data->preedit_buf[i] = kana;
    }
    
    preedit_draw(s);
}

Here is the call graph for this function:

UTFCHARCat ( UTFCHAR dest,
UTFCHAR str1,
UTFCHAR str2 
)

Definition at line 1500 of file sampleja.c.

{
    int i;
    for (i = 0; *str1; i++) {
        *dest++ = *str1++;
    }
    for (i = 0; *str2; i++) {
        *dest++ = *str2++;
    }
    *dest = 0;
    return i;
}
Bool UTFCHARCmp ( UTFCHAR s1,
UTFCHAR s2 
)

Definition at line 1518 of file sampleja.c.

{
    int i;
    if (UTFCHARLen(s1) != UTFCHARLen(s2)) {
        return False;
    }
    for (i = 0; i < UTFCHARLen(s1); i++) {
        if (s1[i] != s2[i]) {
            return False;
        }
    }
    return True;
}

Here is the call graph for this function:

Here is the caller graph for this function:

Bool UTFCHARCmp2 ( UTFCHAR s1,
char *  s2,
int  len 
)

Definition at line 1536 of file sampleja.c.

{
    int i;
    for (i = 0; i < len; i++) {
        if (s2[i] == 0) {
            return False;
        }
        if (s1[i] != s2[i]) {
            return False;
        }
    }
    if (s2[i] != 0) {
        return False;
    }
    return True;
}
int UTFCHARCpy ( UTFCHAR dest,
UTFCHAR original 
)

Definition at line 112 of file le_iml.c.

{
    int i;
    for (i = 0; *original; i++) {
        *dest++ = *original++;
    }
    *dest = 0;
    return i;
}
int UTFCHARLen ( UTFCHAR p)

Definition at line 122 of file le_iml.c.

{
    int i;
    for (i = 0; *p; i++)
        p++;
    return i;
}

Variable Documentation

UTFCHAR add_string[] = {0x8ffd,0x52a0,0x3057,0x307e,0x3057,0x305f,0x0}

Definition at line 730 of file sampleja.c.

UTFCHAR aux_name_aux[] = {0x30b5, 0x30f3, 0x30d7, 0x30eb, 0xff21, 0xff35, 0xff38, '-', 0xff21, 0xff35, 0xff38, 0}

Definition at line 300 of file sampleja.c.

UTFCHAR aux_name_panel[] = {0x30b5, 0x30f3, 0x30d7, 0x30eb, 0xff21, 0xff35, 0xff38, '-', 0x30d1, 0x30cd, 0x30eb, 0}

Definition at line 299 of file sampleja.c.

UTFCHAR candidate_string[] = {0x9078, 0x629e, 0x30a6, 0x30a3, 0x30f3, 0x30c9, 0x30a6, 0}

Definition at line 729 of file sampleja.c.

char* class_names[]
Initial value:
 {
    "com.sun.iiim.sample.sampleja.SamplePanel",
    "com.sun.iiim.sample.sampleja.SampleAux"
}

Definition at line 153 of file sampleja.c.

int hira_table[]
Initial value:
 {
    0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,
    0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,
    0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f,
    0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077, 0x3078, 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f,
    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f,
    0x3090, 0x3091, 0x3092, 0x3093, 0x0
}

Definition at line 1124 of file sampleja.c.

Definition at line 964 of file sampleja.c.

Definition at line 1057 of file sampleja.c.

Initial value:
 {
    {"j", 'a', 0x3058, 0x3083},
    {"j", 'u', 0x3058, 0x3085},
    {"j", 'o', 0x3058, 0x3087},
    {(char) NULL, 0, 0, 0}
}

Definition at line 1117 of file sampleja.c.

Initial value:

Definition at line 2721 of file sampleja.c.

UTFCHAR jahrn_string[] = {0x65e5, 0x672c, 0x8a9e, 0x0}

Definition at line 87 of file sampleja.c.

int kana_table[]
Initial value:
 {
    0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7, 0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af,
    0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7, 0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf,
    0x30c0, 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7, 0x30c8, 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf,
    0x30d0, 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7, 0x30d8, 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df,
    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7, 0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,
    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x0,
}

Definition at line 1133 of file sampleja.c.

IMLEName lename [static]
Initial value:
 {
    "sampleja", lename_string      
}

Definition at line 89 of file sampleja.c.

UTFCHAR lename_string[] = {0x30b5, 0x30f3, 0x30d7, 0x30eb, 0x65e5, 0x672c, 0x8a9e, 0x30a8, 0x30f3, 0x30b8, 0x30f3, 0x0}

Definition at line 86 of file sampleja.c.

IMLocale locales[] [static]
Initial value:
 {
    {"ja", jahrn_string},   
    NULL
}

Definition at line 93 of file sampleja.c.

UTFCHAR name1_from[] = {0x3044, 0x3057, 0x3080, 0x3089, 0}

Definition at line 2706 of file sampleja.c.

UTFCHAR name1_to[] = {0x77f3, 0x6751, 0}

Definition at line 2707 of file sampleja.c.

UTFCHAR name2_from[] = {0x304b, 0x305f, 0x304b, 0x3044, 0}

Definition at line 2708 of file sampleja.c.

UTFCHAR name2_to[] = {0x7247, 0x8c9d, 0}

Definition at line 2709 of file sampleja.c.

UTFCHAR name3_from[] = {0x305f, 0x3058, 0x307e, 0}

Definition at line 2710 of file sampleja.c.

UTFCHAR name3_to[] = {0x7530, 0x5cf6, 0}

Definition at line 2711 of file sampleja.c.

UTFCHAR name4_from[] = {0x304f, 0x307e, 0x30fc, 0}

Definition at line 2712 of file sampleja.c.

UTFCHAR name4_to[] = {0x30af, 0x30de, 0x30fc, 0}

Definition at line 2713 of file sampleja.c.

UTFCHAR name5_from[] = {0x307e, 0x3064, 0x305f, 0x304b, 0x3053, 0}

Definition at line 2714 of file sampleja.c.

UTFCHAR name5_to[] = {0x677e, 0x305f, 0x304b, 0x5b50, 0}

Definition at line 2715 of file sampleja.c.

UTFCHAR name6_from[] = {0x3064, 0x304e, 0x306e, 0x305b, 0x3060, 0x3044, 0}

Definition at line 2716 of file sampleja.c.

UTFCHAR name6_to[] = {0x6b21, 0x306e, 0x4e16, 0x4ee3, 0}

Definition at line 2717 of file sampleja.c.

UTFCHAR name7_from[] = {0x3072, 0x304d, 0x3064, 0x304e, 0}

Definition at line 2718 of file sampleja.c.

UTFCHAR name7_to[] = {0x5f15, 0x304d, 0x7d99, 0x304e, 0}

Definition at line 2719 of file sampleja.c.

Definition at line 98 of file sampleja.c.

UTFCHAR off_string[] = {0x65e5, 0x672c, 0x8a9e, 0x30aa, 0x30d5, 0}

Definition at line 727 of file sampleja.c.

UTFCHAR on_string[] = {0x65e5, 0x672c, 0x8a9e, 0x30aa, 0x30f3, 0}

Definition at line 726 of file sampleja.c.

UTFCHAR sample_string[] = {0x53d7, 0x3051, 0x53d6, 0x3063, 0x305f, 0x305e, 0x30fc, 0}

Definition at line 2647 of file sampleja.c.

UTFCHAR title_string[] = {0x9078, 0x629e, 0x30a6, 0x30a3, 0x30f3, 0x30c9, 0x30a6, 0}

Definition at line 728 of file sampleja.c.