/
index.html
493 lines (275 loc) · 18.4 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Arabic and Persian Gap Analysis</title>
<script class="remove" src="../../i18n-activity/textlayout/resources/gap-analysis-github.js"></script>
<script class="remove" src="../../i18n-activity/templates/gap-analysis/prompts.js"></script>
<script src="https://www.w3.org/Tools/respec/respec-w3c" async="" class="remove">
</script>
<script class="remove">
var respecConfig = {
// specification status (e.g. WD, LCWD, WG-NOTE, etc.). If in doubt use ED.
specStatus: "ED",
//publishDate: "2020-06-16",
//previousPublishDate: "2014-12-16",
//previousMaturity: "FPWD",
// langs array lists languages addressed by this document, in order of speaker (highest first)
// it is used to generate the javascript needed for the matrix
langs: ['Arabic', 'Persian'],
gapDocPath: 'https://www.w3.org/TR/alreq-gap/',
noRecTrack: true,
shortName: "alreq-gap",
copyrightStart: "2018",
edDraftURI: "https://w3c.github.io/alreq/gap-analysis/",
// if this is a LCWD, uncomment and set the end of its review period
// lcEnd: "2009-08-05",
// editors, add as many as you like
// only "name" is required
editors: [
{ name: "Shervin Afshar", company: "Netflix", w3cid: 81253 },
{ name: "Richard Ishida", company: "W3C", w3cid: 3439 },
],
github: "w3c/alreq",
group: "i18n",
postProcess: [
function importStyleSheet() {
[...document.querySelectorAll("link[rel='stylesheet'][data-import]")].forEach(l => {
const style = document.createElement("style");
fetch(l.href).then(r => r.text()).then(t => {
style.textContent = t;
l.replaceWith(style);
});
});
},
() => { addPrompts() },
() => { getAllData('alreq', 'doc:arfa') }
],
};
</script>
<link rel="stylesheet" data-import href="https://w3c.github.io/typography/gap-analysis/gapanalysis.css">
</head>
<body>
<div id="abstract">
<p>This document describes and prioritises gaps for the support of Arabic and Persian languages on the Web and in eBooks. In particular, it is concerned with text layout. It checks that needed features are supported in W3C specifications, in particular HTML and CSS and those relating to digital publications. It also checks whether the features have been implemented in browsers and ereaders. <strong>This is a preliminary analysis.</strong></p>
</div>
<div id="sotd">
<p>This document describes and prioritises gaps for the support of Arabic and Persian languages on the Web and in eBooks. In particular, it is concerned with text layout. It checks that needed features are supported in W3C specifications, in particular HTML and CSS and those relating to digital publications. It also checks whether the features have been implemented in browsers and ereaders. This document complements the document <a href="https://w3c.github.io/alreq/">Text Layout Requirements for the Arabic Script</a>, which describes the requirements for areas where gaps appear. It is linked to from the <a href="https://w3c.github.io/typography/gap-analysis/language-matrix.html">language matrix</a> that tracks Web support for many languages.</p>
<p>The editor's draft of this document is being developed by the <a href="https://w3c.github.io/alreq/">Arabic Layout Task Force</a>, part of the W3C <a href="https://www.w3.org/International/ig/">Internationalization Interest Group</a>. It is published by the <a href="https://www.w3.org/International/core/">Internationalization Working Group</a>. The end target for this document is a Working Group Note.</p>
</div>
<section id="h_introduction">
<h2>Introduction</h2>
<p>The W3C needs to make sure that the needs of scripts and languages around the world are built in to technologies such as HTML, CSS, SVG, etc. so that Web pages and eBooks can look and behave as people expect around the world.</p>
<p>This page documents difficulties people encounter when trying to use the Arabic and Persian languages in the Arabic script on the Web. </p>
<p>Having identified an issue, it investigates the current status with regards to web specifications and implementations by user agents (browsers, e-readers, etc.), and attempts to prioritise the severity of the issue for web users.</p>
<p>A summary of this report and others can be found as part of the <a href="https://w3c.github.io/typography/gap-analysis/language-matrix.html" style="font-size: 140%;">language matrix</a>.</p>
<section id="workflow">
<h3>Work flow</h3>
<p><span style="font-weight:bold; font-size: 140%;">This version of the document is a preliminary analysis</span></p>
<p>Gap analysis work usually starts with a <strong>preliminary analysis</strong>, conducted quickly by one or a small group of experts. Then a more <strong>detailed analysis</strong> is carried out, involving a wider range of experts. The detailed analysis may involve the development of tests, in order to illustrate issues and track results for browsers. The next phase is <strong>ongoing maintenance</strong>. It is expected that the resulting document will not be frozen: as gaps are fixed, this should be noted in the document. It is also possible that new gaps are noticed or arise, and they can be added to this document when that happens.</p>
<p>As the gap analysis develops, the requirements for features that are problematic should be described in the companion document, <a href="https://w3c.github.io/alreq/">Text Layout Requirements for the Arabic Script</a>. Links to the appropriate part of that document should be added to this document as the material is created. Note that the requirements document should not contain any technology-specific information: all of that belongs here.</p>
</section>
<section id="prioritization">
<h3>Prioritization</h3>
<p>This document not only describes gaps, it also attempts to prioritise them in terms of the impact on the local user. The prioritisation is indicated by colour.</p>
<p>Key:</p>
<ul style="list-style-type: none;">
<li class="ok"></li>
<li class="na"></li>
<li class="advanced"></li>
<li class="basic"></li>
<li class="broken"></li>
<li class="tbd"></li>
</ul>
<p>It is important to note that these colours do not indicate to what extent a particular features is broken. They indicate the impact of a broken or missing feature on the content author or end user.</p>
<p>Basic styling is the level that would be generally accepted as sufficient for most Web pages. Advanced level support would include additional features one might expect to include in ebooks or other advanced typographic formats. There may be features of a script or language that are not supported on the Web, but that are not generally regarded as necessary (usually archaic or obscure features). In this case, the feature can be described here, but the status should be marked as OK.</p>
<p>The decision as to what priority level is assigned to a described gap is down to the experts doing the gap analysis. It may not always be straightforward to decide. If a given section in this document refers to more than one feature that is broken, each with different impacts on Web users, the priority for the section should be the lowest denominator.</p>
<p>A cell can be scored as OK if the feature in question is specified in an appropriate specification, and is supported by user agents. A specification that is in CR or later and has two implementations in 'major' browsers will count. This means that the feature may not be supported in all browsers yet. (At some point in the future we may try to distinguish, visually, whether support is available in a specification but still pending in major browsers or applications.) </p>
</section>
</section>
<section id="direction">
<h2>Text direction</h2>
<p>See also General page layout & progression for features such as column layout, page turning direction, etc. that are affected by text direction.</p>
<section id="vertical_text" class="na">
<h3>Vertical text</h3>
<p id="prompt-vertical_text" class="status_prompt promptStub"></p>
<p>We need to clarify whether there is a particular requirement for handling arabic text specially in vertical lines, such as upright glyphs. We are also waiting on implementation of sideways values of writing-modes in order to be able to effectively use arabic text in vertical arrangements (such as book spines, table headings, etc), but that is not a problem specific to arabic.</p>
<div id="insert-vertical_text"></div>
</section>
<section id="bidi_text" class="tbd">
<h3>Bidirectional text</h3>
<p id="prompt-bidi_text" class="status_prompt promptStub"></p>
<div id="insert-bidi_text"></div>
</section>
</section>
<section id="h_characters_and_phrases">
<h2>Characters and phrases</h2>
<section id="charset" class="ok">
<h3>Characters & encoding</h3>
<p id="prompt-charset" class="status_prompt promptStub"></p>
<div id="insert-charset"></div>
</section>
<section id="fonts" class="ok">
<h3>Fonts</h3>
<p id="prompt-fonts" class="status_prompt promptStub"></p>
<div id="insert-fonts"></div>
</section>
<section id="font_style" class="tbd">
<h3>Font styles, weight, etc</h3>
<p id="prompt-font_style" class="status_prompt promptStub"></p>
<div id="insert-font_style"></div>
</section>
<section id="glyphs" class="tbd">
<h3>Glyph shaping and positioning</h3>
<p id="prompt-glyphs" class="status_prompt promptStub"></p>
<div id="insert-glyphs"></div>
</section>
<section id="cursive" class="tbd">
<h3>Cursive text</h3>
<p id="prompt-cursive" class="status_prompt promptStub"></p>
<div id="insert-cursive"></div>
</section>
<section id="baselines" class="ok">
<h3>Baselines, line-height, etc</h3>
<p id="prompt-baselines" class="status_prompt promptStub"></p>
<div id="insert-baselines"></div>
</section>
<section id="transforms" class="na">
<h3>Transforming characters</h3>
<p id="prompt-transforms" class="status_prompt promptStub"></p>
<div id="insert-transforms"></div>
</section>
<section id="segmentation" class="ok">
<h3>Grapheme/word segmentation & selection</h3>
<p id="prompt-segmentation" class="status_prompt promptStub"></p>
<p>Arabic script word boundaries, similar to Latin script, generally can be distinguished by white space and a specific subset of punctuations. There are few exceptions which are listed in <a href="https://w3c.github.io/alreq/#h_segmentation">Arabic Layout Requirement</a> document.</p>
<p>To enforce a disjoining behavior between the letters which under circumstances of their position normally join, special Unicode character <span class="uname">U+200C ZERO WIDTH NON-JOINER</span> (ZWNJ) is used. This usage is detailed in <a href="https://w3c.github.io/alreq/#h_disjoining_enforcement">Arabic Layout Requirement</a> document.</p>
<p>All <span class="pass">major desktop browsers</span> select a whole word when you double-click on it, including when the word contains ZWNJ. Single-letter prepositions attached to the word are also selected. See some <a href="https://w3c.github.io/i18n-tests/results/text-selection#arabic">tests</a>.</p>
<div id="insert-segmentation"></div>
</section>
<section id="punctuation_etc" class="tbd">
<h3>Inline features & punctuation</h3><p id="prompt-punctuation_etc" class="status_prompt promptStub"></p>
<div id="insert-punctuation_etc"></div>
</section>
<section id="text_decoration" class="tbd">
<h3>Text decoration</h3>
<p id="prompt-text_decoration" class="status_prompt promptStub"></p>
<div id="insert-text_decoration"></div>
</section>
<section id="quotations" class="tbd">
<h3>Quotations</h3>
<p id="prompt-quotations" class="status_prompt promptStub"></p>
<div id="insert-quotations"></div>
</section>
<section id="inline_notes" class="ok">
<h3>Inline notes & annotations</h3>
<p id="prompt-inline_notes" class="status_prompt promptStub"></p>
<div id="insert-inline_notes"></div>
</section>
<section id="data_formats" class="ok">
<h3>Data formats & numbers</h3>
<p id="prompt-data_formats" class="status_prompt promptStub"></p>
<p>Internationalization software libraries identify Arabic-Indic numerals as the set of numerals which should be used with text in Arabic language excluding a number of Arabic-speaking countries of Northern and Northwestern Africa which should use Arabic (ASCII) numerals. Surveys of publications, monetary and governmental documents, and manuscripts confirm these precedences. However, there is a considerable diverging trend from these recommendations observable on the web, digital products, and in user-generated content. If not considered in design and implementation of software products dealing with Arabic text, this discrepency could be potentially disadvantageous to the quality of text layout, digital typography, and locale-specific data processing.</p>
<div id="insert-data_formats"></div>
</section>
<!--section id="otherinline" class="tbd">
<h3>Other inline features</h3>
<p class="status_prompt">Does the script have special ways of representing inline notes (such as kumimoji in Japanese) or other inline features that need to be supported? <a href="https://w3c.github.io/typography/index#other_inline_features">See available information</a> or <a href="https://github.com/w3c/i18n-activity/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Ainline-features%20label%3Atype-info-request">check for currently needed data</a>.</p>
<p></p>
</section-->
</section>
<section id="h_lines_and_paragraphs">
<h2>Lines and Paragraphs</h2>
<section id="line_breaking" class="ok">
<h3>Line breaking</h3>
<p id="prompt-line_breaking" class="status_prompt promptStub"></p>
<div id="insert-line_breaking"></div>
</section>
<section id="hyphenation" class="na">
<h3>Hyphenation</h3>
<p id="prompt-hyphenation" class="status_prompt promptStub"></p>
<p>There is no hyphenation in Arabic or Persian language text. </p>
<div id="insert-hyphenation"></div>
</section>
<section id="justification" class="tbd">
<h3>Text alignment & justification</h3>
<p id="prompt-justification" class="status_prompt promptStub"></p>
<div id="insert-justification"></div>
</section>
<section id="spacing" class="tbd">
<h3>Letter spacing</h3>
<p id="prompt-spacing" class="status_prompt promptStub"></p>
<div id="insert-spacing"></div>
</section>
<section id="lists" class="tbd">
<h3>Lists, counters, etc.</h3>
<p id="prompt-lists" class="status_prompt promptStub"></p>
<div id="insert-lists"></div>
</section>
<section id="initials" class="ok">
<h3>Styling initials</h3>
<p id="prompt-initials" class="status_prompt promptStub"></p>
<p>Although initial letter styling is not an innate feature of the Arabic script, there have been occurences of its usage noted. However, the specifications and guidelines for composition of these decorative elements are undefined or insubstantial; for example, which of the joining forms of letters is to be used or how the joining behaviour is treated accross the boundary between the styled initial letter and rest of the paragraph.</p>
<div id="insert-initials"></div>
</section>
<!--section id="otherpara" class="tbd">
<h3>Other paragraph features</h3>
<p class="status_prompt">IAre there other features of paragraph design that are peculiar to your script? <a href="https://w3c.github.io/typography/index#other_para_features">See available information</a> or <a href="https://github.com/w3c/i18n-activity/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Aparagraph-features%20label%3Atype-info-request">check for currently needed data</a>.</p>
<p></p>
</section-->
</section>
<section id="h_pages">
<h2>Page & book layout</h2>
<section id="page_layout" class="tbd">
<h3>General page layout & progression</h3>
<p id="prompt-page_layout" class="status_prompt promptStub"></p>
<div id="insert-page-layout"></div>
</section>
<section id="footnotes_etc" class="tbd">
<h3>Footnotes, endnotes, etc.</h3>
<p id="prompt-footnotes_etc" class="status_prompt promptStub"></p>
<div id="insert-footnotes_etc"></div>
</section>
<section id="headers_footers" class="tbd">
<h3>Page headers, footers, etc.</h3>
<p id="prompt-headers_footers" class="status_prompt promptStub"></p>
<div id="insert-headers_footers"></div>
</section>
<section id="interaction" class="tbd">
<h3>Forms & user interaction</h3>
<p id="prompt-interaction" class="status_prompt promptStub"></p>
<div id="insert-interaction"></div>
</section>
<!--section id="morepage" class="ok">
<h3>Other page layout & pagination features</h3>
<p></p>
</section-->
</section>
<section id="h_other">
<h2>Other</h2>
<section id="culturespecific" class="tbd">
<h3>Culture-specific features</h3>
<p class="status_prompt">Sometimes a script or language does things that are not common outside of its sphere of influence. This is a loose bag of additional items that weren't previously mentioned. This section may also be relevant for observations related to locale formats (such as number, date, currency, format support).</p>
<div id="insert-culturespecific"></div>
</section>
<section id="other" class="tbd">
<h3>What else?</h3>
<p class="status_prompt">There are many other CSS modules which may need review for script-specific requirements, not to mention the SVG, HTML, Speech, MathML and other specifications. What else is likely to cause problems for worldwide deployment of the Web, and what requirements need to be addressed to make the Web function well locally?</p>
<div id="insert-other"></div>
</section>
</section>
<details id="summaryStats">
<summary style="margin-top:4em; cursor: pointer;" onclick="setUpSummary(); printSummary(true)">Show summary</summary>
<pre id="summaryPlaceholder" style="white-space: pre-wrap;"></pre>
</details>
<script>
if (window.location.href.includes('/TR/')) document.getElementById('summaryStats').style.display = 'none'
</script>
<!--section class="appendix" id="acknowledgements">
<h2>Acknowledgements</h2>
<p>Special thanks to the following people who contributed to this document (contributors' names listed in in alphabetic order).</p>
<p class="acknowledgement">This Person, That Person, etc</p>
<p data-lang="en">Please find the latest info of the contributors at the <a href="https://github.com/w3c/hlreq/graphs/contributors">GitHub contributors list</a>.</p>
</section-->
</body>
</html>