summaryrefslogtreecommitdiff
path: root/src/static_libs/libunibreak/linebreakdef.c
diff options
context:
space:
mode:
authorTom Hacohen <tom@stosb.com>2013-01-11 18:16:09 +0000
committerTom Hacohen <tom@stosb.com>2013-01-11 18:16:09 +0000
commit88ab486e6332ffe3d789e2435ee9a78751f88bf0 (patch)
tree2a2a13369b92122ff157952cb7359f8a4e95a42e /src/static_libs/libunibreak/linebreakdef.c
parentd83b83e10befda5a8065069a3152846decf91aa3 (diff)
Efl static_libs: Updated liblinebreak -> libunibreak.
SVN revision: 82652
Diffstat (limited to 'src/static_libs/libunibreak/linebreakdef.c')
-rw-r--r--src/static_libs/libunibreak/linebreakdef.c139
1 files changed, 139 insertions, 0 deletions
diff --git a/src/static_libs/libunibreak/linebreakdef.c b/src/static_libs/libunibreak/linebreakdef.c
new file mode 100644
index 0000000000..fb6744da33
--- /dev/null
+++ b/src/static_libs/libunibreak/linebreakdef.c
@@ -0,0 +1,139 @@
1/* vim: set tabstop=4 shiftwidth=4: */
2
3/*
4 * Line breaking in a Unicode sequence. Designed to be used in a
5 * generic text renderer.
6 *
7 * Copyright (C) 2008-2012 Wu Yongwei <wuyongwei at gmail dot com>
8 *
9 * This software is provided 'as-is', without any express or implied
10 * warranty. In no event will the author be held liable for any damages
11 * arising from the use of this software.
12 *
13 * Permission is granted to anyone to use this software for any purpose,
14 * including commercial applications, and to alter it and redistribute
15 * it freely, subject to the following restrictions:
16 *
17 * 1. The origin of this software must not be misrepresented; you must
18 * not claim that you wrote the original software. If you use this
19 * software in a product, an acknowledgement in the product
20 * documentation would be appreciated but is not required.
21 * 2. Altered source versions must be plainly marked as such, and must
22 * not be misrepresented as being the original software.
23 * 3. This notice may not be removed or altered from any source
24 * distribution.
25 *
26 * The main reference is Unicode Standard Annex 14 (UAX #14):
27 * <URL:http://www.unicode.org/reports/tr14/>
28 *
29 * When this library was designed, this annex was at Revision 19, for
30 * Unicode 5.0.0:
31 * <URL:http://www.unicode.org/reports/tr14/tr14-19.html>
32 *
33 * This library has been updated according to Revision 30, for
34 * Unicode 6.2.0:
35 * <URL:http://www.unicode.org/reports/tr14/tr14-30.html>
36 *
37 * The Unicode Terms of Use are available at
38 * <URL:http://www.unicode.org/copyright.html>
39 */
40
41/**
42 * @file linebreakdef.c
43 *
44 * Definition of language-specific data.
45 *
46 * @version 2.2, 2012/10/06
47 * @author Wu Yongwei
48 */
49
50#include "linebreak.h"
51#include "linebreakdef.h"
52
53/**
54 * English-specifc data over the default Unicode rules.
55 */
56static struct LineBreakProperties lb_prop_English[] = {
57 { 0x2018, 0x2018, LBP_OP }, /* Left single quotation mark: opening */
58 { 0x201C, 0x201C, LBP_OP }, /* Left double quotation mark: opening */
59 { 0x201D, 0x201D, LBP_CL }, /* Right double quotation mark: closing */
60 { 0, 0, LBP_Undefined }
61};
62
63/**
64 * German-specifc data over the default Unicode rules.
65 */
66static struct LineBreakProperties lb_prop_German[] = {
67 { 0x00AB, 0x00AB, LBP_CL }, /* Left double angle quotation mark: closing */
68 { 0x00BB, 0x00BB, LBP_OP }, /* Right double angle quotation mark: opening */
69 { 0x2018, 0x2018, LBP_CL }, /* Left single quotation mark: closing */
70 { 0x201C, 0x201C, LBP_CL }, /* Left double quotation mark: closing */
71 { 0x2039, 0x2039, LBP_CL }, /* Left single angle quotation mark: closing */
72 { 0x203A, 0x203A, LBP_OP }, /* Right single angle quotation mark: opening */
73 { 0, 0, LBP_Undefined }
74};
75
76/**
77 * Spanish-specifc data over the default Unicode rules.
78 */
79static struct LineBreakProperties lb_prop_Spanish[] = {
80 { 0x00AB, 0x00AB, LBP_OP }, /* Left double angle quotation mark: opening */
81 { 0x00BB, 0x00BB, LBP_CL }, /* Right double angle quotation mark: closing */
82 { 0x2018, 0x2018, LBP_OP }, /* Left single quotation mark: opening */
83 { 0x201C, 0x201C, LBP_OP }, /* Left double quotation mark: opening */
84 { 0x201D, 0x201D, LBP_CL }, /* Right double quotation mark: closing */
85 { 0x2039, 0x2039, LBP_OP }, /* Left single angle quotation mark: opening */
86 { 0x203A, 0x203A, LBP_CL }, /* Right single angle quotation mark: closing */
87 { 0, 0, LBP_Undefined }
88};
89
90/**
91 * French-specifc data over the default Unicode rules.
92 */
93static struct LineBreakProperties lb_prop_French[] = {
94 { 0x00AB, 0x00AB, LBP_OP }, /* Left double angle quotation mark: opening */
95 { 0x00BB, 0x00BB, LBP_CL }, /* Right double angle quotation mark: closing */
96 { 0x2018, 0x2018, LBP_OP }, /* Left single quotation mark: opening */
97 { 0x201C, 0x201C, LBP_OP }, /* Left double quotation mark: opening */
98 { 0x201D, 0x201D, LBP_CL }, /* Right double quotation mark: closing */
99 { 0x2039, 0x2039, LBP_OP }, /* Left single angle quotation mark: opening */
100 { 0x203A, 0x203A, LBP_CL }, /* Right single angle quotation mark: closing */
101 { 0, 0, LBP_Undefined }
102};
103
104/**
105 * Russian-specifc data over the default Unicode rules.
106 */
107static struct LineBreakProperties lb_prop_Russian[] = {
108 { 0x00AB, 0x00AB, LBP_OP }, /* Left double angle quotation mark: opening */
109 { 0x00BB, 0x00BB, LBP_CL }, /* Right double angle quotation mark: closing */
110 { 0x201C, 0x201C, LBP_CL }, /* Left double quotation mark: closing */
111 { 0, 0, LBP_Undefined }
112};
113
114/**
115 * Chinese-specifc data over the default Unicode rules.
116 */
117static struct LineBreakProperties lb_prop_Chinese[] = {
118 { 0x2018, 0x2018, LBP_OP }, /* Left single quotation mark: opening */
119 { 0x2019, 0x2019, LBP_CL }, /* Right single quotation mark: closing */
120 { 0x201C, 0x201C, LBP_OP }, /* Left double quotation mark: opening */
121 { 0x201D, 0x201D, LBP_CL }, /* Right double quotation mark: closing */
122 { 0, 0, LBP_Undefined }
123};
124
125/**
126 * Association data of language-specific line breaking properties with
127 * language names. This is the definition for the static data in this
128 * file. If you want more flexibility, or do not need the data here,
129 * you may want to redefine \e lb_prop_lang_map in your C source file.
130 */
131struct LineBreakPropertiesLang lb_prop_lang_map[] = {
132 { "en", 2, lb_prop_English },
133 { "de", 2, lb_prop_German },
134 { "es", 2, lb_prop_Spanish },
135 { "fr", 2, lb_prop_French },
136 { "ru", 2, lb_prop_Russian },
137 { "zh", 2, lb_prop_Chinese },
138 { NULL, 0, NULL }
139};