Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arabic Numeric Shaping Support #2156

Open
samarsultan opened this issue Feb 7, 2017 · 2 comments
Open

Arabic Numeric Shaping Support #2156

samarsultan opened this issue Feb 7, 2017 · 2 comments

Comments

@samarsultan
Copy link
Contributor

Arabic and many other languages (Thai and Bengali) have classical shapes for digits “National Digits” that are different from the conventional Western Digits (European).
National digits have the same semantic meaning as the European digits, and the numbers they form are read from left to right (most significant digit on the left). The difference is only a difference in glyphs.

3

From the Arabic user's point of view, Arabic-Indic numerals are the basic numerals used in almost all forms of documents such as most of government documents (IDs, birth certificates, driver's licenses, passports and household bills), bank statements, newspapers, calendars, road signs and menus.

Options for Arabic Numeric Shaping

There are 3 options which should be taken into consideration when implementing national numeric shaping support in any framework/technology. These options are:
None: No shaping is performed, and the value appears as it is in the data source.
National: Digit shapes are determined from the user’s language.
Contextual: Digit shapes are determined from the preceding characters in the buffer. European digits follow strong Latin character and Arabic-Indic digits follow strong Arabic character. When there is no preceding strong characters, the base text direction attribute determines the digit shaping. (Arabic-Indic digits in RTL context and European digits in LTR context).

1

2

Problem Statement

Most of the available frameworks/technologies lack the contextual shaping option of national digits. Contextual digit shaping is a very important feature as the Arabic users don’t expect to see Arabic-Indic numerals or European numerals only when they have mixed English and Arabic data.
For example, if a document has many paragraphs some in Arabic and others in English, in the Arabic paragraphs the Arabic users expect to see national or Arabic-Indic numerals, and in the English paragraphs the Arabic users expect to see European numerals.
Since the mixed English and Arabic data cases are very common in Arabic region, the same case with numerals is very common too.

notebook name

Figure 1: Notebook file name

items in running tab

Figure 2: Item names (files & running tab)

markdown cell

Figure 3: Output from markdown cell.

generated pdf

Figure 4: Pagination in the generated pdf

@Carreau
Copy link
Member

Carreau commented Feb 9, 2017

Thanks for the detailed description ! The conversion to PDF will also require changes to https://github.com/jupyter/nbconvert likely.

@samarsultan
Copy link
Contributor Author

Yea , I see.

We can defer it slightly until the current notebook is fully supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants