30 CALLBACK_CTX* spCallbackCtx = (CALLBACK_CTX*)spData->
vpUserData;
32 spCallbackCtx->spFile = fopen(spCallbackCtx->cpFileName,
"w");
33 MASSERT(spCallbackCtx->spFile,
"examples: can't open output file name");
34 spCallbackCtx->uiExampleNo = 0;
35 fprintf(spCallbackCtx->spFile,
"<body>");
36 fprintf(spCallbackCtx->spFile,
"<h1>APG Version 6.3</h1>");
37 fprintf(spCallbackCtx->spFile,
"Copyright © 2005 - 2012 Lowell D. Thomas<br>");
38 fprintf(spCallbackCtx->spFile,
"lowell@coasttocoastresearch.com");
39 fprintf(spCallbackCtx->spFile,
"<h2>Wide Characters Example</h2>");
40 fprintf(spCallbackCtx->spFile,
"<p>To view this example correctly, your browser should ");
41 fprintf(spCallbackCtx->spFile,
"support the UNICODE code charts for Cherokee, Greek and Cyrillic.</br>");
42 fprintf(spCallbackCtx->spFile,
"See <a href=\"http://unicode.org/versions/latest/\">http://unicode.org/versions/latest/</a> and");
43 fprintf(spCallbackCtx->spFile,
"See <a href=\"http://unicode.org/charts/\">http://unicode.org/charts/</a>.</p>");
45 fprintf(spCallbackCtx->spFile,
"</body>\n");
46 spCallbackCtx->spFile = fopen(spCallbackCtx->cpFileName,
"w");
47 spCallbackCtx->spFile = NULL;
53 CALLBACK_CTX* spCallbackCtx = (CALLBACK_CTX*)spData->
vpUserData;
55 spCallbackCtx->uiExampleNo++;
61 CALLBACK_CTX* spCallbackCtx = (CALLBACK_CTX*)spData->
vpUserData;
63 fprintf(spCallbackCtx->spFile,
"error: unknown language: ");
65 fprintf(spCallbackCtx->spFile,
"</br>\n");
66 fprintf(spCallbackCtx->spFile,
"\n");
73 CALLBACK_CTX* spCallbackCtx = (CALLBACK_CTX*)spData->
vpUserData;
77 fprintf(spCallbackCtx->spFile,
"%c", (
char)acChar);
79 fprintf(spCallbackCtx->spFile,
"&#x%x;", acChar);
85 CALLBACK_CTX* spCallbackCtx = (CALLBACK_CTX*)spData->
vpUserData;
87 fprintf(spCallbackCtx->spFile,
"Cherokee: ");
89 fprintf(spCallbackCtx->spFile,
"</br>\n");
90 fprintf(spCallbackCtx->spFile,
"\n");
97 CALLBACK_CTX* spCallbackCtx = (CALLBACK_CTX*)spData->
vpUserData;
99 fprintf(spCallbackCtx->spFile,
"&#x%x;", acpString[0]);
105 CALLBACK_CTX* spCallbackCtx = (CALLBACK_CTX*)spData->
vpUserData;
107 fprintf(spCallbackCtx->spFile,
"Cyrillic: ");
109 fprintf(spCallbackCtx->spFile,
"</br>\n");
110 fprintf(spCallbackCtx->spFile,
"\n");
117 CALLBACK_CTX* spCallbackCtx = (CALLBACK_CTX*)spData->
vpUserData;
119 fprintf(spCallbackCtx->spFile,
"&#x%x;", acpString[0]);
125 CALLBACK_CTX* spCallbackCtx = (CALLBACK_CTX*)spData->
vpUserData;
127 fprintf(spCallbackCtx->spFile,
"Greek: ");
129 fprintf(spCallbackCtx->spFile,
"</br>\n");
130 fprintf(spCallbackCtx->spFile,
"\n");
137 CALLBACK_CTX* spCallbackCtx = (CALLBACK_CTX*)spData->
vpUserData;
139 fprintf(spCallbackCtx->spFile,
"&#x%x;", acpString[0]);
147 APG_CALLBACK* spEnd = spSemantic + RULE_COUNT_WIDEGRAMMAR;
148 for(; spBeg < spEnd; spBeg++){*spBeg = NULL;}
149 spSemantic[RULE_WIDEGRAMMAR_UTF32_EXAMPLES] = examples;
150 spSemantic[RULE_WIDEGRAMMAR_CHEROKEE_CHAR] = cher_char;
151 spSemantic[RULE_WIDEGRAMMAR_CHEROKEE_EXAMPLE] = cher_ex;
152 spSemantic[RULE_WIDEGRAMMAR_CYRILLIC_CHAR] = cyr_char;
153 spSemantic[RULE_WIDEGRAMMAR_CYRILLIC_EXAMPLE] = cyr_ex;
154 spSemantic[RULE_WIDEGRAMMAR_END] = end;
155 spSemantic[RULE_WIDEGRAMMAR_ERROR_EXAMPLE] = er_ex;
156 spSemantic[RULE_WIDEGRAMMAR_ERROR_CHAR] = er_char;
157 spSemantic[RULE_WIDEGRAMMAR_GREEK_CHAR] = gr_char;
158 spSemantic[RULE_WIDEGRAMMAR_GREEK_EXAMPLE] = gr_ex;