#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "wingdi.h"
#include "winnls.h"
#include "usp10.h"
#include "winternl.h"
#include "wine/debug.h"
#include "usp10_internal.h"
Go to the source code of this file.
|
| enum | breaking_types {
b_BK =1
, b_CR
, b_LF
, b_CM
,
b_SG
, b_GL
, b_CB
, b_SP
,
b_ZW
, b_NL
, b_WJ
, b_JL
,
b_JV
, b_JT
, b_H2
, b_H3
,
b_XX
, b_OP
, b_CL
, b_CP
,
b_QU
, b_NS
, b_EX
, b_SY
,
b_IS
, b_PR
, b_PO
, b_NU
,
b_AL
, b_ID
, b_IN
, b_HY
,
b_BB
, b_BA
, b_SA
, b_AI
,
b_B2
, b_HL
, b_CJ
, b_RI
,
b_EB
, b_EM
, b_ZWJ
, b_AK
,
b_AP
, b_AS
, b_VF
, b_VI
,
b_HH
} |
| |
| enum | breaking_class { b_r =1
, b_s
, b_x
} |
| |
◆ breaking_class
◆ breaking_types
| Enumerator |
|---|
| b_BK | |
| b_CR | |
| b_LF | |
| b_CM | |
| b_SG | |
| b_GL | |
| b_CB | |
| b_SP | |
| b_ZW | |
| b_NL | |
| b_WJ | |
| b_JL | |
| b_JV | |
| b_JT | |
| b_H2 | |
| b_H3 | |
| b_XX | |
| b_OP | |
| b_CL | |
| b_CP | |
| b_QU | |
| b_NS | |
| b_EX | |
| b_SY | |
| b_IS | |
| b_PR | |
| b_PO | |
| b_NU | |
| b_AL | |
| b_ID | |
| b_IN | |
| b_HY | |
| b_BB | |
| b_BA | |
| b_SA | |
| b_AI | |
| b_B2 | |
| b_HL | |
| b_CJ | |
| b_RI | |
| b_EB | |
| b_EM | |
| b_ZWJ | |
| b_AK | |
| b_AP | |
| b_AS | |
| b_VF | |
| b_VI | |
| b_HH | |
Definition at line 41 of file breaking.c.
41 {
42 b_BK=1,
b_CR,
b_LF,
b_CM,
b_SG,
b_GL,
b_CB,
b_SP,
b_ZW,
b_NL,
b_WJ,
b_JL,
b_JV,
b_JT,
b_H2,
b_H3,
b_XX,
b_OP,
b_CL,
43 b_CP,
b_QU,
b_NS,
b_EX,
b_SY,
b_IS,
b_PR,
b_PO,
b_NU,
b_AL,
b_ID,
b_IN,
b_HY,
b_BB,
b_BA,
b_SA,
b_AI,
b_B2,
b_HL,
44 b_CJ,
b_RI,
b_EB,
b_EM,
b_ZWJ,
b_AK,
b_AP,
b_AS,
b_VF,
b_VI,
b_HH,
45};
◆ BREAK_line()
Definition at line 76 of file breaking.c.
77{
79 short *break_class;
80 short *break_before;
81
83
85 break_before =
malloc(
count *
sizeof(*break_before));
86
88 {
91
93
95 switch (break_class[
i])
96 {
101 break;
104 break;
105 }
106 }
107
108
109
111 {
112 switch(break_class[
i])
113 {
118 break_class[
i] =
b_AL;
119 break;
121 break_class[
i] =
b_NS;
122 break;
123 }
124 }
125
126
127 break_before[0] =
b_x;
129 {
130 switch(break_class[
i])
131 {
132
135 {
138 break;
139 }
145 break;
146
149 break;
152
156 break;
157 }
158 }
159
161
162
164 {
165 if (break_class[
i] ==
b_CM)
166 {
168 {
169 switch (break_class[
i-1])
170 {
177 break_class[
i] =
b_AL;
178 break;
179 default:
180 break_class[
i] = break_class[
i-1];
181 }
182 }
183 else break_class[
i] =
b_AL;
184 }
185 }
186
188 {
189 switch(break_class[
i])
190 {
191
196 break;
197
201
203 {
204 if (break_class[
i-1] !=
b_SP &&
205 break_class[
i-1] !=
b_BA &&
206 break_class[
i-1] !=
b_HY &&
207 break_class[
i-1] !=
b_HH)
209 }
210 break;
211
218 break;
219
222 {
225 }
227 break;
228
233 if (break_class[
j] ==
b_OP)
234 {
237 }
238 break;
239
242 while(
j > 0 && break_class[
j] ==
b_SP)
244 if (break_class[
j] ==
b_CL || break_class[
j] ==
b_CP)
245 {
246 for (
j++;
j <=
i;
j++)
248 }
249 break;
250
255 if (break_class[
j] ==
b_B2)
256 {
259 }
260 break;
261 }
262 }
263
265
267 {
268 switch(break_class[
i])
269 {
270
274 break;
275
280 break;
281
286 break;
287
293 break;
297 break;
298
301 switch (break_class[
i+1])
302 {
307 }
308 break;
309
312 {
313 switch (break_class[
i-1])
314 {
321 }
322 }
323 break;
324 }
325
327 {
328
329 if ((break_class[
i] ==
b_ID && break_class[
i+1] ==
b_PO) ||
330 (break_class[
i] ==
b_AL && break_class[
i+1] ==
b_NU) ||
331 (break_class[
i] ==
b_HL && break_class[
i+1] ==
b_NU) ||
332 (break_class[
i] ==
b_NU && break_class[
i+1] ==
b_AL) ||
333 (break_class[
i] ==
b_NU && break_class[
i+1] ==
b_HL))
335
336 if ((break_class[
i] ==
b_PR && break_class[
i+1] ==
b_ID) ||
337 (break_class[
i] ==
b_PR && break_class[
i+1] ==
b_AL) ||
338 (break_class[
i] ==
b_PR && break_class[
i+1] ==
b_HL) ||
339 (break_class[
i] ==
b_PO && break_class[
i+1] ==
b_AL) ||
340 (break_class[
i] ==
b_PO && break_class[
i+1] ==
b_HL))
342
343
344 if ((break_class[
i] ==
b_CL && break_class[
i+1] ==
b_PO) ||
345 (break_class[
i] ==
b_CP && break_class[
i+1] ==
b_PO) ||
346 (break_class[
i] ==
b_CL && break_class[
i+1] ==
b_PR) ||
347 (break_class[
i] ==
b_CP && break_class[
i+1] ==
b_PR) ||
348 (break_class[
i] ==
b_NU && break_class[
i+1] ==
b_PO) ||
349 (break_class[
i] ==
b_NU && break_class[
i+1] ==
b_PR) ||
350 (break_class[
i] ==
b_PO && break_class[
i+1] ==
b_OP) ||
351 (break_class[
i] ==
b_PO && break_class[
i+1] ==
b_NU) ||
352 (break_class[
i] ==
b_PR && break_class[
i+1] ==
b_OP) ||
353 (break_class[
i] ==
b_PR && break_class[
i+1] ==
b_NU) ||
354 (break_class[
i] ==
b_HY && break_class[
i+1] ==
b_NU) ||
355 (break_class[
i] ==
b_IS && break_class[
i+1] ==
b_NU) ||
356 (break_class[
i] ==
b_NU && break_class[
i+1] ==
b_NU) ||
357 (break_class[
i] ==
b_SY && break_class[
i+1] ==
b_NU))
359
360
361 if (break_class[
i] ==
b_JL)
362 {
363 switch (break_class[
i+1])
364 {
370 }
371 }
372 if ((break_class[
i] ==
b_JV || break_class[
i] ==
b_H2) &&
373 (break_class[
i+1] ==
b_JV || break_class[
i+1] ==
b_JT))
375 if ((break_class[
i] ==
b_JT || break_class[
i] ==
b_H3) &&
376 break_class[
i+1] ==
b_JT)
378
379
380 switch (break_class[
i])
381 {
387 if (break_class[
i+1] ==
b_IN || break_class[
i+1] ==
b_PO)
389 }
390 if (break_class[
i] ==
b_PR)
391 {
392 switch (break_class[
i+1])
393 {
400 }
401 }
402
403
404 if ((break_class[
i] ==
b_AL && break_class[
i+1] ==
b_AL) ||
405 (break_class[
i] ==
b_AL && break_class[
i+1] ==
b_HL) ||
406 (break_class[
i] ==
b_HL && break_class[
i+1] ==
b_AL) ||
407 (break_class[
i] ==
b_HL && break_class[
i+1] ==
b_HL))
409
410
411 if ((break_class[
i] ==
b_IS && break_class[
i+1] ==
b_AL) ||
412 (break_class[
i] ==
b_IS && break_class[
i+1] ==
b_HL))
414
415
416 if ((break_class[
i] ==
b_AL || break_class[
i] ==
b_HL || break_class[
i] ==
b_NU) &&
417 break_class[
i+1] ==
b_OP)
419 if (break_class[
i] ==
b_CP &&
420 (break_class[
i+1] ==
b_AL || break_class[
i+1] ==
b_HL || break_class[
i+1] ==
b_NU))
422
423
424 if (break_class[
i] ==
b_RI && break_class[
i+1] ==
b_RI)
426 }
427 }
429
430
433
436 {
437 if (break_before[
i] !=
b_x)
438 {
441 }
442 }
443
446}
static void else_break(short *before, short class)
static void debug_output_breaks(const short *breaks, int count)
const unsigned short wine_linebreak_table[]
static unsigned short get_table_entry_32(const unsigned short *table, UINT ch)
GLuint GLuint GLsizei count
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Referenced by ScriptBreak().
◆ debug_output_breaks()
◆ else_break()
◆ WINE_DEFAULT_DEBUG_CHANNEL()
| WINE_DEFAULT_DEBUG_CHANNEL |
( |
uniscribe |
| ) |
|
◆ wine_linebreak_table