Merge branch 'master' into patch-1
This commit is contained in:
commit
0ea3d4d38f
12 changed files with 1007 additions and 22 deletions
91
README.md
91
README.md
|
|
@ -29,7 +29,7 @@ That is how the actual weather report for your location looks like (it is live!)
|
||||||
(it's not your location actually, becasue GitHub's CDN hides your real IP address with its own IP address,
|
(it's not your location actually, becasue GitHub's CDN hides your real IP address with its own IP address,
|
||||||
but it is still a live weather report in your language).
|
but it is still a live weather report in your language).
|
||||||
|
|
||||||
You can specify the location, which you want to get the weather information for.
|
You can specify the location that you want to get the weather information for.
|
||||||
If you omit the location name, you will get the report for your current location,
|
If you omit the location name, you will get the report for your current location,
|
||||||
based on your IP address.
|
based on your IP address.
|
||||||
|
|
||||||
|
|
@ -42,6 +42,20 @@ about some airports:
|
||||||
$ curl wttr.in/muc # Weather for IATA: muc, Munich International Airport, Germany
|
$ curl wttr.in/muc # Weather for IATA: muc, Munich International Airport, Germany
|
||||||
$ curl wttr.in/ham # Weather for IATA: ham, Hamburg Airport, Germany
|
$ curl wttr.in/ham # Weather for IATA: ham, Hamburg Airport, Germany
|
||||||
|
|
||||||
|
If you want to specify a location that is not a city/town's name, but a name of some geographical location
|
||||||
|
(e.g. it can be a site in a city, a mountain name, a special location etc.) you should place `~` before its name.
|
||||||
|
That means the location name should be looked up before:
|
||||||
|
|
||||||
|
$ curl wttr.in/~Vostok+Station
|
||||||
|
$ curl wttr.in/~Eiffel+Tower
|
||||||
|
$ curl wttr.in/~Kilimanjaro
|
||||||
|
|
||||||
|
In this case there is a line below the weather forecast output describing the founded precise position:
|
||||||
|
|
||||||
|
Location: Vostok Station, станция Восток, AAT, Antarctica [-78.4642714,106.8364678]
|
||||||
|
Location: Tour Eiffel, 5, Avenue Anatole France, Gros-Caillou, 7e, Paris, Île-de-France, 75007, France [48.8582602,2.29449905432]
|
||||||
|
Location: Kilimanjaro, Northern, Tanzania [-3.4762789,37.3872648]
|
||||||
|
|
||||||
You can also use IP-addresses (direct) or domain names (prefixed with @)
|
You can also use IP-addresses (direct) or domain names (prefixed with @)
|
||||||
as a location specificator:
|
as a location specificator:
|
||||||
|
|
||||||
|
|
@ -61,9 +75,46 @@ You can override this behavior with the following options:
|
||||||
$ curl wttr.in/Amsterdam?u
|
$ curl wttr.in/Amsterdam?u
|
||||||
$ curl wttr.in/Amsterdam?m
|
$ curl wttr.in/Amsterdam?m
|
||||||
|
|
||||||
|
## Supported formats
|
||||||
|
|
||||||
|
wttr.in supports three output formats at the moment:
|
||||||
|
|
||||||
|
* ANSI for the terminal;
|
||||||
|
* HTML for the browser;
|
||||||
|
* PNG for the graphical viewers.
|
||||||
|
|
||||||
|
The ANSI and HTML formats are selected basing on the User-Agent string.
|
||||||
|
The PNG format can be forced by adding `.png` to the end of the query:
|
||||||
|
|
||||||
|
$ wget wttr.in/Paris.png
|
||||||
|
|
||||||
|
You can use all of the options with the PNG-format like in an URL, but you have
|
||||||
|
to separate them with `_` instead of `?` and `&`:
|
||||||
|
|
||||||
|
$ wget wttr.in/Paris_0tqp_lang=fr.png
|
||||||
|
|
||||||
|
Special useful options for the PNG format:
|
||||||
|
|
||||||
|
* `t` for transparency (`transparency=150`);
|
||||||
|
* transparency=0..255 for a custom transparency level.
|
||||||
|
|
||||||
|
Transparency is a useful feature when the weather PNGs are used to
|
||||||
|
add weather data to the pictures:
|
||||||
|
|
||||||
|
$ convert 1.jpg <( curl wttr.in/Oymyakon_tqp0.png ) -geometry +50+50 -composite 2.jpg
|
||||||
|
|
||||||
|
Here:
|
||||||
|
|
||||||
|
* `1.jpg` - source file;
|
||||||
|
* `2.jpg` - target file;
|
||||||
|
* Oymyakon - name of the location;
|
||||||
|
* tqp0 - options (recommended).
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Special pages
|
## Special pages
|
||||||
|
|
||||||
wttr.in can be used not only to check the wheather, but for some other purposes also:
|
wttr.in can be used not only to check the weather, but also for some other purposes:
|
||||||
|
|
||||||
$ curl wttr.in/Moon
|
$ curl wttr.in/Moon
|
||||||
|
|
||||||
|
|
@ -73,24 +124,45 @@ To see the current Moon phase (uses [pyphoon](https://github.com/chubin/pyphoon)
|
||||||
|
|
||||||
To see the Moon phase for the specified date (2016-12-25).
|
To see the Moon phase for the specified date (2016-12-25).
|
||||||
|
|
||||||
## Translations
|
## Internationalization and localization
|
||||||
|
|
||||||
wttr.in is currently translated in more than 30 languages.
|
wttr.in supports multilingual locations names: they can be specified in any language in the world
|
||||||
|
(it may be surprising, but many locations in the world do not have any English name at all).
|
||||||
|
|
||||||
The preferred language is detected automatically based on the query headers (`Accept-Language`)
|
The query string should be specified in Unicode (hex encoded or not). If it contains spaces
|
||||||
which is automatically set by the browser or can be set explicitly using command line options
|
they must be replaced with +:
|
||||||
in console clients (for example: `curl -H "Accept-Language: fr"`).
|
|
||||||
|
$ curl wttr.in/станция+Восток
|
||||||
|
Weather report: станция Восток
|
||||||
|
|
||||||
|
Overcast
|
||||||
|
.--. -65 – -47 °C
|
||||||
|
.-( ). ↑ 23 km/h
|
||||||
|
(___.__)__) 15 km
|
||||||
|
0.0 mm
|
||||||
|
|
||||||
|
The language used for the output (except the location name) does not depend on the input language
|
||||||
|
and it is either English (by default) or the preferred language of the browser (if the query
|
||||||
|
was issued from a browser) that is specified in the query headers (`Accept-Language`).
|
||||||
|
|
||||||
|
It can be set explicitly when using console clients by means of the appropriate command line options
|
||||||
|
(for example: `curl -H "Accept-Language: fr" wttr.in` or `http GET wttr.in Accept-Language:ru`).
|
||||||
|
|
||||||
The preferred language can be forced using the `lang` option:
|
The preferred language can be forced using the `lang` option:
|
||||||
|
|
||||||
$ curl wttr.in/Berlin?lang=de
|
$ curl wttr.in/Berlin?lang=de
|
||||||
|
|
||||||
|
wttr.in is currently translated in more than 35 languages and the number of supported languages
|
||||||
|
is constantly growing.
|
||||||
|
|
||||||
See [/:translation](http://wttr.in/:translation) to learn more about the translation process,
|
See [/:translation](http://wttr.in/:translation) to learn more about the translation process,
|
||||||
to see the list of supported languages and contributors, or to know how you can help to translate wttr.in in your language.
|
to see the list of supported languages and contributors, or to know how you can help to translate wttr.in in your language.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
To install the program you need:
|
To install the program:
|
||||||
|
|
||||||
1. Install external dependencies
|
1. Install external dependencies
|
||||||
2. Install python dependencies used by the service
|
2. Install python dependencies used by the service
|
||||||
|
|
@ -183,9 +255,6 @@ to access the service (if you want to use a web frontend; it's recommended):
|
||||||
access_log /var/log/nginx/wttr.in-access.log main;
|
access_log /var/log/nginx/wttr.in-access.log main;
|
||||||
error_log /var/log/nginx/wttr.in-error.log;
|
error_log /var/log/nginx/wttr.in-error.log;
|
||||||
|
|
||||||
location /clouds_files { root /var/www/igor/; }
|
|
||||||
location /clouds_images { root /var/www/igor/; }
|
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://127.0.0.1:8002;
|
proxy_pass http://127.0.0.1:8002;
|
||||||
|
|
||||||
|
|
|
||||||
25
lib/buttons.py
Normal file
25
lib/buttons.py
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
TWITTER_BUTTON = """
|
||||||
|
<a href="https://twitter.com/igor_chubin" class="twitter-follow-button" data-show-count="false" data-button="grey">Follow @igor_chubin</a>
|
||||||
|
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
||||||
|
"""
|
||||||
|
|
||||||
|
GITHUB_BUTTON = """
|
||||||
|
<!-- Place this tag where you want the button to render. -->
|
||||||
|
<a aria-label="Star chubin/wttr.in on GitHub" data-count-aria-label="# stargazers on GitHub" data-count-api="/repos/chubin/wttr.in#stargazers_count" data-count-href="/chubin/wttr.in/stargazers" data-icon="octicon-star" href="https://github.com/chubin/wttr.in" class="github-button">wttr.in</a>
|
||||||
|
"""
|
||||||
|
|
||||||
|
GITHUB_BUTTON_2 = """
|
||||||
|
<!-- Place this tag where you want the button to render. -->
|
||||||
|
<a aria-label="Star schachmat/wego on GitHub" data-count-aria-label="# stargazers on GitHub" data-count-api="/repos/schachmat/wego#stargazers_count" data-count-href="/schachmat/wego/stargazers" data-icon="octicon-star" href="https://github.com/schachmat/wego" class="github-button">wego</a>
|
||||||
|
"""
|
||||||
|
|
||||||
|
GITHUB_BUTTON_3 = """
|
||||||
|
<!-- Place this tag where you want the button to render. -->
|
||||||
|
<a aria-label="Star chubin/pyphoon on GitHub" data-count-aria-label="# stargazers on GitHub" data-count-api="/repos/chubin/pyphoon#stargazers_count" data-count-href="/chubin/pyphoon/stargazers" data-icon="octicon-star" href="https://github.com/chubin/pyphoon" class="github-button">pyphoon</a>
|
||||||
|
"""
|
||||||
|
|
||||||
|
GITHUB_BUTTON_FOOTER = """
|
||||||
|
<!-- Place this tag right after the last button or just before your close body tag. -->
|
||||||
|
<script async defer id="github-bjs" src="https://buttons.github.io/buttons.js"></script>
|
||||||
|
"""
|
||||||
|
|
||||||
58
lib/parse_query.py
Normal file
58
lib/parse_query.py
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
|
||||||
|
def parse_query(args):
|
||||||
|
result = {}
|
||||||
|
|
||||||
|
reserved_args = ["lang"]
|
||||||
|
#q = "&".join(x for x in args.keys() if x not in reserved_args)
|
||||||
|
|
||||||
|
q = ""
|
||||||
|
|
||||||
|
for key, val in args.items():
|
||||||
|
if len(val) == 0:
|
||||||
|
q += key
|
||||||
|
continue
|
||||||
|
if val == 'True':
|
||||||
|
val = True
|
||||||
|
if val == 'False':
|
||||||
|
val = False
|
||||||
|
result[key] = val
|
||||||
|
|
||||||
|
if q is None:
|
||||||
|
return result
|
||||||
|
if 'n' in q:
|
||||||
|
result['narrow'] = True
|
||||||
|
if 'm' in q:
|
||||||
|
result['use_metric'] = True
|
||||||
|
if 'M' in q:
|
||||||
|
result['use_ms_for_wind'] = True
|
||||||
|
if 'u' in q:
|
||||||
|
result['use_imperial'] = True
|
||||||
|
if 'I' in q:
|
||||||
|
result['inverted_colors'] = True
|
||||||
|
if 't' in q:
|
||||||
|
result['transparency'] = '150'
|
||||||
|
if 'T' in q:
|
||||||
|
result['no-terminal'] = True
|
||||||
|
if 'p' in q:
|
||||||
|
result['padding'] = True
|
||||||
|
|
||||||
|
for days in "0123":
|
||||||
|
if days in q:
|
||||||
|
result['days'] = days
|
||||||
|
|
||||||
|
result['no-caption'] = False
|
||||||
|
result['no-city'] = False
|
||||||
|
if 'q' in q:
|
||||||
|
result['no-caption'] = True
|
||||||
|
if 'Q' in q:
|
||||||
|
result['no-city'] = True
|
||||||
|
|
||||||
|
for key, val in args.items():
|
||||||
|
if val == 'True':
|
||||||
|
val = True
|
||||||
|
if val == 'False':
|
||||||
|
val = False
|
||||||
|
result[key] = val
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
@ -27,6 +27,12 @@ Wir hoffen, dass Sie besseres Wetter haben!
|
||||||
για αυτό διαλέξαμε το Οϊμιάκον για εσένα,
|
για αυτό διαλέξαμε το Οϊμιάκον για εσένα,
|
||||||
μία από τις πιο κρύες μόνιμα κατοικημένες περιοχές στον πλανήτη.
|
μία από τις πιο κρύες μόνιμα κατοικημένες περιοχές στον πλανήτη.
|
||||||
Ελπίζουμε να έχεις καλύτερο καιρό!
|
Ελπίζουμε να έχεις καλύτερο καιρό!
|
||||||
|
""",
|
||||||
|
|
||||||
|
'fi': u"""
|
||||||
|
Emme löytänyt sijaintiasi, joten toimme sinut Oimjakoniin,
|
||||||
|
yhteen maailman kylmimmistä pysyvästi asutetuista paikoista.
|
||||||
|
Toivottavasti sinulla on parempi sää!
|
||||||
""",
|
""",
|
||||||
|
|
||||||
'fr': u"""
|
'fr': u"""
|
||||||
|
|
@ -93,15 +99,21 @@ Umarız sizin olduğunuz yerde havalar daha iyidir!
|
||||||
шунинг учун биз сизга сайёрамизнинг энг совук нуктаси Оймяконнинг об-хавосини курсатмокдамиз.
|
шунинг учун биз сизга сайёрамизнинг энг совук нуктаси Оймяконнинг об-хавосини курсатмокдамиз.
|
||||||
Шу сабаб бугунги об-хаво сиз учун ажойиб булади деган умиддамиз!
|
Шу сабаб бугунги об-хаво сиз учун ажойиб булади деган умиддамиз!
|
||||||
""",
|
""",
|
||||||
|
|
||||||
|
'hy': u"""
|
||||||
|
Ձեր գտնվելու վայրը չհաջողվեց որոշել,
|
||||||
|
այդ պատճառով մենք ձեզ կցուցադրենք եղանակը Օյմյակոնում.
|
||||||
|
երկրագնդի ամենասառը բնակավայրում։
|
||||||
|
Հույս ունենք որ ձեր եղանակը այսօր ավելի լավն է։
|
||||||
|
"""
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'UNKNOWN_LOCATION': {
|
'UNKNOWN_LOCATION': {
|
||||||
'en': u'Unknown location',
|
'en': u'Unknown location',
|
||||||
'cs': u'Neznámá poloha',
|
'cs': u'Neznámá poloha',
|
||||||
'de': u'Unbekannter Ort',
|
'de': u'Unbekannter Ort',
|
||||||
'el': u'Άνγωστη τοποθεσία',
|
'el': u'Άνγωστη τοποθεσία',
|
||||||
|
'fi': u'Tuntematon sijainti',
|
||||||
'fr': u'Emplacement inconnu',
|
'fr': u'Emplacement inconnu',
|
||||||
'ja': u'未知の場所です',
|
'ja': u'未知の場所です',
|
||||||
'ro': u'Locaţie necunoscută',
|
'ro': u'Locaţie necunoscută',
|
||||||
|
|
@ -112,7 +124,59 @@ Umarız sizin olduğunuz yerde havalar daha iyidir!
|
||||||
'tr': u'Bölge bulunamadı',
|
'tr': u'Bölge bulunamadı',
|
||||||
'ua': u'Невідоме місце',
|
'ua': u'Невідоме місце',
|
||||||
'uz': u'Аникланмаган худуд',
|
'uz': u'Аникланмаган худуд',
|
||||||
}
|
'hy': u'Անհայտ գտնվելու վայր',
|
||||||
|
},
|
||||||
|
|
||||||
|
'LOCATION': {
|
||||||
|
'en': u'Location',
|
||||||
|
'cs': u'Poloha',
|
||||||
|
'de': u'Ort',
|
||||||
|
'el': u'Τοποθεσία',
|
||||||
|
'fi': u'Tuntematon sijainti',
|
||||||
|
'fr': u'Emplacement',
|
||||||
|
'ja': u'未知の場所です',
|
||||||
|
'ro': u'Locaţie',
|
||||||
|
'ru': u'Местоположение',
|
||||||
|
'sk': u'Poloha',
|
||||||
|
'sr': u'Локација',
|
||||||
|
'sv': u'Plats',
|
||||||
|
'tr': u'Bölge bulunamadı',
|
||||||
|
'ua': u'Місце',
|
||||||
|
'hy': u'Դիրք',
|
||||||
|
},
|
||||||
|
|
||||||
|
'CAPACITY_LIMIT_REACHED': {
|
||||||
|
'en': u"""
|
||||||
|
Sorry, we are runnig out of queries to the weather service at the moment.
|
||||||
|
Here is the weather report for the default city (just to show you, how it looks like).
|
||||||
|
We will get new queries as soon as possible.
|
||||||
|
You can follow https://twitter.com/igor_chubin for the updates
|
||||||
|
======================================================================================
|
||||||
|
""",
|
||||||
|
'hy': u"""
|
||||||
|
Կներեք, այս պահին մենք գերազանցել ենք եղանակային տեսության կայանին հարցումների քանակը.
|
||||||
|
Կարող եք տեսնել տիպային եղանակը զեկուցում հիմնական քաղաքի համար (Ուղղակի որպես նմուշ)։
|
||||||
|
Մենք մշտապես աշխատում ենք հարցումների քանակը բարելավելու ուղղությամբ։
|
||||||
|
Կարող եք հետևել մեզ https://twitter.com/igor_chubin թարմացումների համար։
|
||||||
|
======================================================================================
|
||||||
|
""",
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
#'Check new Feature: \033[92mwttr.in/Moon\033[0m or \033[92mwttr.in/Moon@2016-Mar-23\033[0m to see the phase of the Moon'
|
||||||
|
#'New feature: \033[92mwttr.in/Rome?lang=it\033[0m or \033[92mcurl -H "Accept-Language: it" wttr.in/Rome\033[0m for the localized version. Your lang instead of "it"'
|
||||||
|
|
||||||
|
'NEW_FEATURE': {
|
||||||
|
'en': u'New feature: multilingual location names \033[92mwttr.in/станция+Восток\033[0m (in UTF-8) and location search \033[92mwttr.in/~Kilimanjaro\033[0m (just add ~ before)',
|
||||||
|
'ru': u'Попробуйте: названия мест на любом языке \033[92mwttr.in/станция+Восток\033[0m (в UTF-8) и поиск мест \033[92mwttr.in/~Kilimanjaro\033[0m (нужно добавить ~ спереди)',
|
||||||
|
'ru': u'Փորձարկեք: տեղամասերի անունները կամայական լեզվով \033[92mwttr.in/Դիլիջան\033[0m (в UTF-8) և տեղանքի որոնում \033[92mwttr.in/~Արալեռ\033[0m (հարկավոր է ~ ավելացնել դիմացից)',
|
||||||
|
},
|
||||||
|
|
||||||
|
'FOLLOW_ME': {
|
||||||
|
'en': u'Follow \033[46m\033[30m@igor_chubin\033[0m for wttr.in updates \033[4m[new \033[14m7 features\033[4m in the last 3 months]\033[0m',
|
||||||
|
'ru': u'Все новые фичи публикуются здесь: \033[46m\033[30m@igor_chubin\033[0m \033[4m[\033[14mза последние 3 месяца: 7 новых фич\033[4m]\033[0m',
|
||||||
|
'hy': u'Նոր ֆիչռների համար հետևեք՝ \033[46m\033[30m@igor_chubin\033[0m \033[4m[\033[14mվերջին 3 ամսում: 7 թարմացում\033[4m]\033[0m',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_message(message_name, lang):
|
def get_message(message_name, lang):
|
||||||
|
|
|
||||||
605
lib/unicodedata2.py
Normal file
605
lib/unicodedata2.py
Normal file
|
|
@ -0,0 +1,605 @@
|
||||||
|
from unicodedata import *
|
||||||
|
|
||||||
|
script_data = {
|
||||||
|
"names":['Common', 'Latin', 'Greek', 'Cyrillic', 'Armenian', 'Hebrew', 'Arabic',
|
||||||
|
'Syriac', 'Thaana', 'Devanagari', 'Bengali', 'Gurmukhi', 'Gujarati', 'Oriya',
|
||||||
|
'Tamil', 'Telugu', 'Kannada', 'Malayalam', 'Sinhala', 'Thai', 'Lao', 'Tibetan',
|
||||||
|
'Myanmar', 'Georgian', 'Hangul', 'Ethiopic', 'Cherokee', 'Canadian_Aboriginal',
|
||||||
|
'Ogham', 'Runic', 'Khmer', 'Mongolian', 'Hiragana', 'Katakana', 'Bopomofo',
|
||||||
|
'Han', 'Yi', 'Old_Italic', 'Gothic', 'Deseret', 'Inherited', 'Tagalog',
|
||||||
|
'Hanunoo', 'Buhid', 'Tagbanwa', 'Limbu', 'Tai_Le', 'Linear_B', 'Ugaritic',
|
||||||
|
'Shavian', 'Osmanya', 'Cypriot', 'Braille', 'Buginese', 'Coptic', 'New_Tai_Lue',
|
||||||
|
'Glagolitic', 'Tifinagh', 'Syloti_Nagri', 'Old_Persian', 'Kharoshthi',
|
||||||
|
'Balinese', 'Cuneiform', 'Phoenician', 'Phags_Pa', 'Nko', 'Sundanese', 'Lepcha',
|
||||||
|
'Ol_Chiki', 'Vai', 'Saurashtra', 'Kayah_Li', 'Rejang', 'Lycian', 'Carian',
|
||||||
|
'Lydian', 'Cham', 'Tai_Tham', 'Tai_Viet', 'Avestan', 'Egyptian_Hieroglyphs',
|
||||||
|
'Samaritan', 'Lisu', 'Bamum', 'Javanese', 'Meetei_Mayek', 'Imperial_Aramaic',
|
||||||
|
'Old_South_Arabian', 'Inscriptional_Parthian', 'Inscriptional_Pahlavi',
|
||||||
|
'Old_Turkic', 'Kaithi', 'Batak', 'Brahmi', 'Mandaic', 'Chakma',
|
||||||
|
'Meroitic_Cursive', 'Meroitic_Hieroglyphs', 'Miao', 'Sharada', 'Sora_Sompeng',
|
||||||
|
'Takri'],
|
||||||
|
"cats":['Cc', 'Zs', 'Po', 'Sc', 'Ps', 'Pe', 'Sm', 'Pd', 'Nd', 'Sk', 'Pc', 'So', 'Pi',
|
||||||
|
'Cf', 'No', 'L', 'Pf', 'Lm', 'Mc', 'Lo', 'Zl', 'Zp', 'Nl', 'Mn', 'Me'],
|
||||||
|
"idx":[
|
||||||
|
(0x0,0x1f,0,0), (0x20,0x20,0,1), (0x21,0x23,0,2), (0x24,0x24,0,3),
|
||||||
|
(0x25,0x27,0,2), (0x28,0x28,0,4), (0x29,0x29,0,5), (0x2a,0x2a,0,2),
|
||||||
|
(0x2b,0x2b,0,6), (0x2c,0x2c,0,2), (0x2d,0x2d,0,7), (0x2e,0x2f,0,2),
|
||||||
|
(0x30,0x39,0,8), (0x3a,0x3b,0,2), (0x3c,0x3e,0,6), (0x3f,0x40,0,2),
|
||||||
|
(0x41,0x5a,1,15), (0x5b,0x5b,0,4), (0x5c,0x5c,0,2), (0x5d,0x5d,0,5),
|
||||||
|
(0x5e,0x5e,0,9), (0x5f,0x5f,0,10), (0x60,0x60,0,9), (0x61,0x7a,1,15),
|
||||||
|
(0x7b,0x7b,0,4), (0x7c,0x7c,0,6), (0x7d,0x7d,0,5), (0x7e,0x7e,0,6),
|
||||||
|
(0x7f,0x9f,0,0), (0xa0,0xa0,0,1), (0xa1,0xa1,0,2), (0xa2,0xa5,0,3),
|
||||||
|
(0xa6,0xa6,0,11), (0xa7,0xa7,0,2), (0xa8,0xa8,0,9), (0xa9,0xa9,0,11),
|
||||||
|
(0xaa,0xaa,1,19), (0xab,0xab,0,12), (0xac,0xac,0,6), (0xad,0xad,0,13),
|
||||||
|
(0xae,0xae,0,11), (0xaf,0xaf,0,9), (0xb0,0xb0,0,11), (0xb1,0xb1,0,6),
|
||||||
|
(0xb2,0xb3,0,14), (0xb4,0xb4,0,9), (0xb5,0xb5,0,15), (0xb6,0xb7,0,2),
|
||||||
|
(0xb8,0xb8,0,9), (0xb9,0xb9,0,14), (0xba,0xba,1,19), (0xbb,0xbb,0,16),
|
||||||
|
(0xbc,0xbe,0,14), (0xbf,0xbf,0,2), (0xc0,0xd6,1,15), (0xd7,0xd7,0,6),
|
||||||
|
(0xd8,0xf6,1,15), (0xf7,0xf7,0,6), (0xf8,0x1ba,1,15), (0x1bb,0x1bb,1,19),
|
||||||
|
(0x1bc,0x1bf,1,15), (0x1c0,0x1c3,1,19), (0x1c4,0x293,1,15), (0x294,0x294,1,19),
|
||||||
|
(0x295,0x2af,1,15), (0x2b0,0x2b8,1,17), (0x2b9,0x2c1,0,17), (0x2c2,0x2c5,0,9),
|
||||||
|
(0x2c6,0x2d1,0,17), (0x2d2,0x2df,0,9), (0x2e0,0x2e4,1,17), (0x2e5,0x2e9,0,9),
|
||||||
|
(0x2ea,0x2eb,34,9), (0x2ec,0x2ec,0,17), (0x2ed,0x2ed,0,9), (0x2ee,0x2ee,0,17),
|
||||||
|
(0x2ef,0x2ff,0,9), (0x300,0x36f,40,23), (0x370,0x373,2,15), (0x374,0x374,0,17),
|
||||||
|
(0x375,0x375,2,9), (0x376,0x377,2,15), (0x37a,0x37a,2,17), (0x37b,0x37d,2,15),
|
||||||
|
(0x37e,0x37e,0,2), (0x384,0x384,2,9), (0x385,0x385,0,9), (0x386,0x386,2,15),
|
||||||
|
(0x387,0x387,0,2), (0x388,0x38a,2,15), (0x38c,0x38c,2,15), (0x38e,0x3a1,2,15),
|
||||||
|
(0x3a3,0x3e1,2,15), (0x3e2,0x3ef,54,15), (0x3f0,0x3f5,2,15), (0x3f6,0x3f6,2,6),
|
||||||
|
(0x3f7,0x3ff,2,15), (0x400,0x481,3,15), (0x482,0x482,3,11), (0x483,0x484,3,23),
|
||||||
|
(0x485,0x486,40,23), (0x487,0x487,3,23), (0x488,0x489,3,24), (0x48a,0x527,3,15),
|
||||||
|
(0x531,0x556,4,15), (0x559,0x559,4,17), (0x55a,0x55f,4,2), (0x561,0x587,4,15),
|
||||||
|
(0x589,0x589,0,2), (0x58a,0x58a,4,7), (0x58f,0x58f,4,3), (0x591,0x5bd,5,23),
|
||||||
|
(0x5be,0x5be,5,7), (0x5bf,0x5bf,5,23), (0x5c0,0x5c0,5,2), (0x5c1,0x5c2,5,23),
|
||||||
|
(0x5c3,0x5c3,5,2), (0x5c4,0x5c5,5,23), (0x5c6,0x5c6,5,2), (0x5c7,0x5c7,5,23),
|
||||||
|
(0x5d0,0x5ea,5,19), (0x5f0,0x5f2,5,19), (0x5f3,0x5f4,5,2), (0x600,0x604,6,13),
|
||||||
|
(0x606,0x608,6,6), (0x609,0x60a,6,2), (0x60b,0x60b,6,3), (0x60c,0x60c,0,2),
|
||||||
|
(0x60d,0x60d,6,2), (0x60e,0x60f,6,11), (0x610,0x61a,6,23), (0x61b,0x61b,0,2),
|
||||||
|
(0x61e,0x61e,6,2), (0x61f,0x61f,0,2), (0x620,0x63f,6,19), (0x640,0x640,0,17),
|
||||||
|
(0x641,0x64a,6,19), (0x64b,0x655,40,23), (0x656,0x65e,6,23),
|
||||||
|
(0x65f,0x65f,40,23), (0x660,0x669,0,8), (0x66a,0x66d,6,2), (0x66e,0x66f,6,19),
|
||||||
|
(0x670,0x670,40,23), (0x671,0x6d3,6,19), (0x6d4,0x6d4,6,2), (0x6d5,0x6d5,6,19),
|
||||||
|
(0x6d6,0x6dc,6,23), (0x6dd,0x6dd,0,13), (0x6de,0x6de,6,11), (0x6df,0x6e4,6,23),
|
||||||
|
(0x6e5,0x6e6,6,17), (0x6e7,0x6e8,6,23), (0x6e9,0x6e9,6,11), (0x6ea,0x6ed,6,23),
|
||||||
|
(0x6ee,0x6ef,6,19), (0x6f0,0x6f9,6,8), (0x6fa,0x6fc,6,19), (0x6fd,0x6fe,6,11),
|
||||||
|
(0x6ff,0x6ff,6,19), (0x700,0x70d,7,2), (0x70f,0x70f,7,13), (0x710,0x710,7,19),
|
||||||
|
(0x711,0x711,7,23), (0x712,0x72f,7,19), (0x730,0x74a,7,23), (0x74d,0x74f,7,19),
|
||||||
|
(0x750,0x77f,6,19), (0x780,0x7a5,8,19), (0x7a6,0x7b0,8,23), (0x7b1,0x7b1,8,19),
|
||||||
|
(0x7c0,0x7c9,65,8), (0x7ca,0x7ea,65,19), (0x7eb,0x7f3,65,23),
|
||||||
|
(0x7f4,0x7f5,65,17), (0x7f6,0x7f6,65,11), (0x7f7,0x7f9,65,2),
|
||||||
|
(0x7fa,0x7fa,65,17), (0x800,0x815,81,19), (0x816,0x819,81,23),
|
||||||
|
(0x81a,0x81a,81,17), (0x81b,0x823,81,23), (0x824,0x824,81,17),
|
||||||
|
(0x825,0x827,81,23), (0x828,0x828,81,17), (0x829,0x82d,81,23),
|
||||||
|
(0x830,0x83e,81,2), (0x840,0x858,94,19), (0x859,0x85b,94,23),
|
||||||
|
(0x85e,0x85e,94,2), (0x8a0,0x8a0,6,19), (0x8a2,0x8ac,6,19), (0x8e4,0x8fe,6,23),
|
||||||
|
(0x900,0x902,9,23), (0x903,0x903,9,18), (0x904,0x939,9,19), (0x93a,0x93a,9,23),
|
||||||
|
(0x93b,0x93b,9,18), (0x93c,0x93c,9,23), (0x93d,0x93d,9,19), (0x93e,0x940,9,18),
|
||||||
|
(0x941,0x948,9,23), (0x949,0x94c,9,18), (0x94d,0x94d,9,23), (0x94e,0x94f,9,18),
|
||||||
|
(0x950,0x950,9,19), (0x951,0x952,40,23), (0x953,0x957,9,23), (0x958,0x961,9,19),
|
||||||
|
(0x962,0x963,9,23), (0x964,0x965,0,2), (0x966,0x96f,9,8), (0x970,0x970,9,2),
|
||||||
|
(0x971,0x971,9,17), (0x972,0x977,9,19), (0x979,0x97f,9,19), (0x981,0x981,10,23),
|
||||||
|
(0x982,0x983,10,18), (0x985,0x98c,10,19), (0x98f,0x990,10,19),
|
||||||
|
(0x993,0x9a8,10,19), (0x9aa,0x9b0,10,19), (0x9b2,0x9b2,10,19),
|
||||||
|
(0x9b6,0x9b9,10,19), (0x9bc,0x9bc,10,23), (0x9bd,0x9bd,10,19),
|
||||||
|
(0x9be,0x9c0,10,18), (0x9c1,0x9c4,10,23), (0x9c7,0x9c8,10,18),
|
||||||
|
(0x9cb,0x9cc,10,18), (0x9cd,0x9cd,10,23), (0x9ce,0x9ce,10,19),
|
||||||
|
(0x9d7,0x9d7,10,18), (0x9dc,0x9dd,10,19), (0x9df,0x9e1,10,19),
|
||||||
|
(0x9e2,0x9e3,10,23), (0x9e6,0x9ef,10,8), (0x9f0,0x9f1,10,19),
|
||||||
|
(0x9f2,0x9f3,10,3), (0x9f4,0x9f9,10,14), (0x9fa,0x9fa,10,11),
|
||||||
|
(0x9fb,0x9fb,10,3), (0xa01,0xa02,11,23), (0xa03,0xa03,11,18),
|
||||||
|
(0xa05,0xa0a,11,19), (0xa0f,0xa10,11,19), (0xa13,0xa28,11,19),
|
||||||
|
(0xa2a,0xa30,11,19), (0xa32,0xa33,11,19), (0xa35,0xa36,11,19),
|
||||||
|
(0xa38,0xa39,11,19), (0xa3c,0xa3c,11,23), (0xa3e,0xa40,11,18),
|
||||||
|
(0xa41,0xa42,11,23), (0xa47,0xa48,11,23), (0xa4b,0xa4d,11,23),
|
||||||
|
(0xa51,0xa51,11,23), (0xa59,0xa5c,11,19), (0xa5e,0xa5e,11,19),
|
||||||
|
(0xa66,0xa6f,11,8), (0xa70,0xa71,11,23), (0xa72,0xa74,11,19),
|
||||||
|
(0xa75,0xa75,11,23), (0xa81,0xa82,12,23), (0xa83,0xa83,12,18),
|
||||||
|
(0xa85,0xa8d,12,19), (0xa8f,0xa91,12,19), (0xa93,0xaa8,12,19),
|
||||||
|
(0xaaa,0xab0,12,19), (0xab2,0xab3,12,19), (0xab5,0xab9,12,19),
|
||||||
|
(0xabc,0xabc,12,23), (0xabd,0xabd,12,19), (0xabe,0xac0,12,18),
|
||||||
|
(0xac1,0xac5,12,23), (0xac7,0xac8,12,23), (0xac9,0xac9,12,18),
|
||||||
|
(0xacb,0xacc,12,18), (0xacd,0xacd,12,23), (0xad0,0xad0,12,19),
|
||||||
|
(0xae0,0xae1,12,19), (0xae2,0xae3,12,23), (0xae6,0xaef,12,8),
|
||||||
|
(0xaf0,0xaf0,12,2), (0xaf1,0xaf1,12,3), (0xb01,0xb01,13,23),
|
||||||
|
(0xb02,0xb03,13,18), (0xb05,0xb0c,13,19), (0xb0f,0xb10,13,19),
|
||||||
|
(0xb13,0xb28,13,19), (0xb2a,0xb30,13,19), (0xb32,0xb33,13,19),
|
||||||
|
(0xb35,0xb39,13,19), (0xb3c,0xb3c,13,23), (0xb3d,0xb3d,13,19),
|
||||||
|
(0xb3e,0xb3e,13,18), (0xb3f,0xb3f,13,23), (0xb40,0xb40,13,18),
|
||||||
|
(0xb41,0xb44,13,23), (0xb47,0xb48,13,18), (0xb4b,0xb4c,13,18),
|
||||||
|
(0xb4d,0xb4d,13,23), (0xb56,0xb56,13,23), (0xb57,0xb57,13,18),
|
||||||
|
(0xb5c,0xb5d,13,19), (0xb5f,0xb61,13,19), (0xb62,0xb63,13,23),
|
||||||
|
(0xb66,0xb6f,13,8), (0xb70,0xb70,13,11), (0xb71,0xb71,13,19),
|
||||||
|
(0xb72,0xb77,13,14), (0xb82,0xb82,14,23), (0xb83,0xb83,14,19),
|
||||||
|
(0xb85,0xb8a,14,19), (0xb8e,0xb90,14,19), (0xb92,0xb95,14,19),
|
||||||
|
(0xb99,0xb9a,14,19), (0xb9c,0xb9c,14,19), (0xb9e,0xb9f,14,19),
|
||||||
|
(0xba3,0xba4,14,19), (0xba8,0xbaa,14,19), (0xbae,0xbb9,14,19),
|
||||||
|
(0xbbe,0xbbf,14,18), (0xbc0,0xbc0,14,23), (0xbc1,0xbc2,14,18),
|
||||||
|
(0xbc6,0xbc8,14,18), (0xbca,0xbcc,14,18), (0xbcd,0xbcd,14,23),
|
||||||
|
(0xbd0,0xbd0,14,19), (0xbd7,0xbd7,14,18), (0xbe6,0xbef,14,8),
|
||||||
|
(0xbf0,0xbf2,14,14), (0xbf3,0xbf8,14,11), (0xbf9,0xbf9,14,3),
|
||||||
|
(0xbfa,0xbfa,14,11), (0xc01,0xc03,15,18), (0xc05,0xc0c,15,19),
|
||||||
|
(0xc0e,0xc10,15,19), (0xc12,0xc28,15,19), (0xc2a,0xc33,15,19),
|
||||||
|
(0xc35,0xc39,15,19), (0xc3d,0xc3d,15,19), (0xc3e,0xc40,15,23),
|
||||||
|
(0xc41,0xc44,15,18), (0xc46,0xc48,15,23), (0xc4a,0xc4d,15,23),
|
||||||
|
(0xc55,0xc56,15,23), (0xc58,0xc59,15,19), (0xc60,0xc61,15,19),
|
||||||
|
(0xc62,0xc63,15,23), (0xc66,0xc6f,15,8), (0xc78,0xc7e,15,14),
|
||||||
|
(0xc7f,0xc7f,15,11), (0xc82,0xc83,16,18), (0xc85,0xc8c,16,19),
|
||||||
|
(0xc8e,0xc90,16,19), (0xc92,0xca8,16,19), (0xcaa,0xcb3,16,19),
|
||||||
|
(0xcb5,0xcb9,16,19), (0xcbc,0xcbc,16,23), (0xcbd,0xcbd,16,19),
|
||||||
|
(0xcbe,0xcbe,16,18), (0xcbf,0xcbf,16,23), (0xcc0,0xcc4,16,18),
|
||||||
|
(0xcc6,0xcc6,16,23), (0xcc7,0xcc8,16,18), (0xcca,0xccb,16,18),
|
||||||
|
(0xccc,0xccd,16,23), (0xcd5,0xcd6,16,18), (0xcde,0xcde,16,19),
|
||||||
|
(0xce0,0xce1,16,19), (0xce2,0xce3,16,23), (0xce6,0xcef,16,8),
|
||||||
|
(0xcf1,0xcf2,16,19), (0xd02,0xd03,17,18), (0xd05,0xd0c,17,19),
|
||||||
|
(0xd0e,0xd10,17,19), (0xd12,0xd3a,17,19), (0xd3d,0xd3d,17,19),
|
||||||
|
(0xd3e,0xd40,17,18), (0xd41,0xd44,17,23), (0xd46,0xd48,17,18),
|
||||||
|
(0xd4a,0xd4c,17,18), (0xd4d,0xd4d,17,23), (0xd4e,0xd4e,17,19),
|
||||||
|
(0xd57,0xd57,17,18), (0xd60,0xd61,17,19), (0xd62,0xd63,17,23),
|
||||||
|
(0xd66,0xd6f,17,8), (0xd70,0xd75,17,14), (0xd79,0xd79,17,11),
|
||||||
|
(0xd7a,0xd7f,17,19), (0xd82,0xd83,18,18), (0xd85,0xd96,18,19),
|
||||||
|
(0xd9a,0xdb1,18,19), (0xdb3,0xdbb,18,19), (0xdbd,0xdbd,18,19),
|
||||||
|
(0xdc0,0xdc6,18,19), (0xdca,0xdca,18,23), (0xdcf,0xdd1,18,18),
|
||||||
|
(0xdd2,0xdd4,18,23), (0xdd6,0xdd6,18,23), (0xdd8,0xddf,18,18),
|
||||||
|
(0xdf2,0xdf3,18,18), (0xdf4,0xdf4,18,2), (0xe01,0xe30,19,19),
|
||||||
|
(0xe31,0xe31,19,23), (0xe32,0xe33,19,19), (0xe34,0xe3a,19,23),
|
||||||
|
(0xe3f,0xe3f,0,3), (0xe40,0xe45,19,19), (0xe46,0xe46,19,17),
|
||||||
|
(0xe47,0xe4e,19,23), (0xe4f,0xe4f,19,2), (0xe50,0xe59,19,8), (0xe5a,0xe5b,19,2),
|
||||||
|
(0xe81,0xe82,20,19), (0xe84,0xe84,20,19), (0xe87,0xe88,20,19),
|
||||||
|
(0xe8a,0xe8a,20,19), (0xe8d,0xe8d,20,19), (0xe94,0xe97,20,19),
|
||||||
|
(0xe99,0xe9f,20,19), (0xea1,0xea3,20,19), (0xea5,0xea5,20,19),
|
||||||
|
(0xea7,0xea7,20,19), (0xeaa,0xeab,20,19), (0xead,0xeb0,20,19),
|
||||||
|
(0xeb1,0xeb1,20,23), (0xeb2,0xeb3,20,19), (0xeb4,0xeb9,20,23),
|
||||||
|
(0xebb,0xebc,20,23), (0xebd,0xebd,20,19), (0xec0,0xec4,20,19),
|
||||||
|
(0xec6,0xec6,20,17), (0xec8,0xecd,20,23), (0xed0,0xed9,20,8),
|
||||||
|
(0xedc,0xedf,20,19), (0xf00,0xf00,21,19), (0xf01,0xf03,21,11),
|
||||||
|
(0xf04,0xf12,21,2), (0xf13,0xf13,21,11), (0xf14,0xf14,21,2),
|
||||||
|
(0xf15,0xf17,21,11), (0xf18,0xf19,21,23), (0xf1a,0xf1f,21,11),
|
||||||
|
(0xf20,0xf29,21,8), (0xf2a,0xf33,21,14), (0xf34,0xf34,21,11),
|
||||||
|
(0xf35,0xf35,21,23), (0xf36,0xf36,21,11), (0xf37,0xf37,21,23),
|
||||||
|
(0xf38,0xf38,21,11), (0xf39,0xf39,21,23), (0xf3a,0xf3a,21,4),
|
||||||
|
(0xf3b,0xf3b,21,5), (0xf3c,0xf3c,21,4), (0xf3d,0xf3d,21,5), (0xf3e,0xf3f,21,18),
|
||||||
|
(0xf40,0xf47,21,19), (0xf49,0xf6c,21,19), (0xf71,0xf7e,21,23),
|
||||||
|
(0xf7f,0xf7f,21,18), (0xf80,0xf84,21,23), (0xf85,0xf85,21,2),
|
||||||
|
(0xf86,0xf87,21,23), (0xf88,0xf8c,21,19), (0xf8d,0xf97,21,23),
|
||||||
|
(0xf99,0xfbc,21,23), (0xfbe,0xfc5,21,11), (0xfc6,0xfc6,21,23),
|
||||||
|
(0xfc7,0xfcc,21,11), (0xfce,0xfcf,21,11), (0xfd0,0xfd4,21,2),
|
||||||
|
(0xfd5,0xfd8,0,11), (0xfd9,0xfda,21,2), (0x1000,0x102a,22,19),
|
||||||
|
(0x102b,0x102c,22,18), (0x102d,0x1030,22,23), (0x1031,0x1031,22,18),
|
||||||
|
(0x1032,0x1037,22,23), (0x1038,0x1038,22,18), (0x1039,0x103a,22,23),
|
||||||
|
(0x103b,0x103c,22,18), (0x103d,0x103e,22,23), (0x103f,0x103f,22,19),
|
||||||
|
(0x1040,0x1049,22,8), (0x104a,0x104f,22,2), (0x1050,0x1055,22,19),
|
||||||
|
(0x1056,0x1057,22,18), (0x1058,0x1059,22,23), (0x105a,0x105d,22,19),
|
||||||
|
(0x105e,0x1060,22,23), (0x1061,0x1061,22,19), (0x1062,0x1064,22,18),
|
||||||
|
(0x1065,0x1066,22,19), (0x1067,0x106d,22,18), (0x106e,0x1070,22,19),
|
||||||
|
(0x1071,0x1074,22,23), (0x1075,0x1081,22,19), (0x1082,0x1082,22,23),
|
||||||
|
(0x1083,0x1084,22,18), (0x1085,0x1086,22,23), (0x1087,0x108c,22,18),
|
||||||
|
(0x108d,0x108d,22,23), (0x108e,0x108e,22,19), (0x108f,0x108f,22,18),
|
||||||
|
(0x1090,0x1099,22,8), (0x109a,0x109c,22,18), (0x109d,0x109d,22,23),
|
||||||
|
(0x109e,0x109f,22,11), (0x10a0,0x10c5,23,15), (0x10c7,0x10c7,23,15),
|
||||||
|
(0x10cd,0x10cd,23,15), (0x10d0,0x10fa,23,19), (0x10fb,0x10fb,0,2),
|
||||||
|
(0x10fc,0x10fc,23,17), (0x10fd,0x10ff,23,19), (0x1100,0x11ff,24,19),
|
||||||
|
(0x1200,0x1248,25,19), (0x124a,0x124d,25,19), (0x1250,0x1256,25,19),
|
||||||
|
(0x1258,0x1258,25,19), (0x125a,0x125d,25,19), (0x1260,0x1288,25,19),
|
||||||
|
(0x128a,0x128d,25,19), (0x1290,0x12b0,25,19), (0x12b2,0x12b5,25,19),
|
||||||
|
(0x12b8,0x12be,25,19), (0x12c0,0x12c0,25,19), (0x12c2,0x12c5,25,19),
|
||||||
|
(0x12c8,0x12d6,25,19), (0x12d8,0x1310,25,19), (0x1312,0x1315,25,19),
|
||||||
|
(0x1318,0x135a,25,19), (0x135d,0x135f,25,23), (0x1360,0x1368,25,2),
|
||||||
|
(0x1369,0x137c,25,14), (0x1380,0x138f,25,19), (0x1390,0x1399,25,11),
|
||||||
|
(0x13a0,0x13f4,26,19), (0x1400,0x1400,27,7), (0x1401,0x166c,27,19),
|
||||||
|
(0x166d,0x166e,27,2), (0x166f,0x167f,27,19), (0x1680,0x1680,28,1),
|
||||||
|
(0x1681,0x169a,28,19), (0x169b,0x169b,28,4), (0x169c,0x169c,28,5),
|
||||||
|
(0x16a0,0x16ea,29,19), (0x16eb,0x16ed,0,2), (0x16ee,0x16f0,29,22),
|
||||||
|
(0x1700,0x170c,41,19), (0x170e,0x1711,41,19), (0x1712,0x1714,41,23),
|
||||||
|
(0x1720,0x1731,42,19), (0x1732,0x1734,42,23), (0x1735,0x1736,0,2),
|
||||||
|
(0x1740,0x1751,43,19), (0x1752,0x1753,43,23), (0x1760,0x176c,44,19),
|
||||||
|
(0x176e,0x1770,44,19), (0x1772,0x1773,44,23), (0x1780,0x17b3,30,19),
|
||||||
|
(0x17b4,0x17b5,30,23), (0x17b6,0x17b6,30,18), (0x17b7,0x17bd,30,23),
|
||||||
|
(0x17be,0x17c5,30,18), (0x17c6,0x17c6,30,23), (0x17c7,0x17c8,30,18),
|
||||||
|
(0x17c9,0x17d3,30,23), (0x17d4,0x17d6,30,2), (0x17d7,0x17d7,30,17),
|
||||||
|
(0x17d8,0x17da,30,2), (0x17db,0x17db,30,3), (0x17dc,0x17dc,30,19),
|
||||||
|
(0x17dd,0x17dd,30,23), (0x17e0,0x17e9,30,8), (0x17f0,0x17f9,30,14),
|
||||||
|
(0x1800,0x1801,31,2), (0x1802,0x1803,0,2), (0x1804,0x1804,31,2),
|
||||||
|
(0x1805,0x1805,0,2), (0x1806,0x1806,31,7), (0x1807,0x180a,31,2),
|
||||||
|
(0x180b,0x180d,31,23), (0x180e,0x180e,31,1), (0x1810,0x1819,31,8),
|
||||||
|
(0x1820,0x1842,31,19), (0x1843,0x1843,31,17), (0x1844,0x1877,31,19),
|
||||||
|
(0x1880,0x18a8,31,19), (0x18a9,0x18a9,31,23), (0x18aa,0x18aa,31,19),
|
||||||
|
(0x18b0,0x18f5,27,19), (0x1900,0x191c,45,19), (0x1920,0x1922,45,23),
|
||||||
|
(0x1923,0x1926,45,18), (0x1927,0x1928,45,23), (0x1929,0x192b,45,18),
|
||||||
|
(0x1930,0x1931,45,18), (0x1932,0x1932,45,23), (0x1933,0x1938,45,18),
|
||||||
|
(0x1939,0x193b,45,23), (0x1940,0x1940,45,11), (0x1944,0x1945,45,2),
|
||||||
|
(0x1946,0x194f,45,8), (0x1950,0x196d,46,19), (0x1970,0x1974,46,19),
|
||||||
|
(0x1980,0x19ab,55,19), (0x19b0,0x19c0,55,18), (0x19c1,0x19c7,55,19),
|
||||||
|
(0x19c8,0x19c9,55,18), (0x19d0,0x19d9,55,8), (0x19da,0x19da,55,14),
|
||||||
|
(0x19de,0x19df,55,11), (0x19e0,0x19ff,30,11), (0x1a00,0x1a16,53,19),
|
||||||
|
(0x1a17,0x1a18,53,23), (0x1a19,0x1a1b,53,18), (0x1a1e,0x1a1f,53,2),
|
||||||
|
(0x1a20,0x1a54,77,19), (0x1a55,0x1a55,77,18), (0x1a56,0x1a56,77,23),
|
||||||
|
(0x1a57,0x1a57,77,18), (0x1a58,0x1a5e,77,23), (0x1a60,0x1a60,77,23),
|
||||||
|
(0x1a61,0x1a61,77,18), (0x1a62,0x1a62,77,23), (0x1a63,0x1a64,77,18),
|
||||||
|
(0x1a65,0x1a6c,77,23), (0x1a6d,0x1a72,77,18), (0x1a73,0x1a7c,77,23),
|
||||||
|
(0x1a7f,0x1a7f,77,23), (0x1a80,0x1a89,77,8), (0x1a90,0x1a99,77,8),
|
||||||
|
(0x1aa0,0x1aa6,77,2), (0x1aa7,0x1aa7,77,17), (0x1aa8,0x1aad,77,2),
|
||||||
|
(0x1b00,0x1b03,61,23), (0x1b04,0x1b04,61,18), (0x1b05,0x1b33,61,19),
|
||||||
|
(0x1b34,0x1b34,61,23), (0x1b35,0x1b35,61,18), (0x1b36,0x1b3a,61,23),
|
||||||
|
(0x1b3b,0x1b3b,61,18), (0x1b3c,0x1b3c,61,23), (0x1b3d,0x1b41,61,18),
|
||||||
|
(0x1b42,0x1b42,61,23), (0x1b43,0x1b44,61,18), (0x1b45,0x1b4b,61,19),
|
||||||
|
(0x1b50,0x1b59,61,8), (0x1b5a,0x1b60,61,2), (0x1b61,0x1b6a,61,11),
|
||||||
|
(0x1b6b,0x1b73,61,23), (0x1b74,0x1b7c,61,11), (0x1b80,0x1b81,66,23),
|
||||||
|
(0x1b82,0x1b82,66,18), (0x1b83,0x1ba0,66,19), (0x1ba1,0x1ba1,66,18),
|
||||||
|
(0x1ba2,0x1ba5,66,23), (0x1ba6,0x1ba7,66,18), (0x1ba8,0x1ba9,66,23),
|
||||||
|
(0x1baa,0x1baa,66,18), (0x1bab,0x1bab,66,23), (0x1bac,0x1bad,66,18),
|
||||||
|
(0x1bae,0x1baf,66,19), (0x1bb0,0x1bb9,66,8), (0x1bba,0x1bbf,66,19),
|
||||||
|
(0x1bc0,0x1be5,92,19), (0x1be6,0x1be6,92,23), (0x1be7,0x1be7,92,18),
|
||||||
|
(0x1be8,0x1be9,92,23), (0x1bea,0x1bec,92,18), (0x1bed,0x1bed,92,23),
|
||||||
|
(0x1bee,0x1bee,92,18), (0x1bef,0x1bf1,92,23), (0x1bf2,0x1bf3,92,18),
|
||||||
|
(0x1bfc,0x1bff,92,2), (0x1c00,0x1c23,67,19), (0x1c24,0x1c2b,67,18),
|
||||||
|
(0x1c2c,0x1c33,67,23), (0x1c34,0x1c35,67,18), (0x1c36,0x1c37,67,23),
|
||||||
|
(0x1c3b,0x1c3f,67,2), (0x1c40,0x1c49,67,8), (0x1c4d,0x1c4f,67,19),
|
||||||
|
(0x1c50,0x1c59,68,8), (0x1c5a,0x1c77,68,19), (0x1c78,0x1c7d,68,17),
|
||||||
|
(0x1c7e,0x1c7f,68,2), (0x1cc0,0x1cc7,66,2), (0x1cd0,0x1cd2,40,23),
|
||||||
|
(0x1cd3,0x1cd3,0,2), (0x1cd4,0x1ce0,40,23), (0x1ce1,0x1ce1,0,18),
|
||||||
|
(0x1ce2,0x1ce8,40,23), (0x1ce9,0x1cec,0,19), (0x1ced,0x1ced,40,23),
|
||||||
|
(0x1cee,0x1cf1,0,19), (0x1cf2,0x1cf3,0,18), (0x1cf4,0x1cf4,40,23),
|
||||||
|
(0x1cf5,0x1cf6,0,19), (0x1d00,0x1d25,1,15), (0x1d26,0x1d2a,2,15),
|
||||||
|
(0x1d2b,0x1d2b,3,15), (0x1d2c,0x1d5c,1,17), (0x1d5d,0x1d61,2,17),
|
||||||
|
(0x1d62,0x1d65,1,17), (0x1d66,0x1d6a,2,17), (0x1d6b,0x1d77,1,15),
|
||||||
|
(0x1d78,0x1d78,3,17), (0x1d79,0x1d9a,1,15), (0x1d9b,0x1dbe,1,17),
|
||||||
|
(0x1dbf,0x1dbf,2,17), (0x1dc0,0x1de6,40,23), (0x1dfc,0x1dff,40,23),
|
||||||
|
(0x1e00,0x1eff,1,15), (0x1f00,0x1f15,2,15), (0x1f18,0x1f1d,2,15),
|
||||||
|
(0x1f20,0x1f45,2,15), (0x1f48,0x1f4d,2,15), (0x1f50,0x1f57,2,15),
|
||||||
|
(0x1f59,0x1f59,2,15), (0x1f5b,0x1f5b,2,15), (0x1f5d,0x1f5d,2,15),
|
||||||
|
(0x1f5f,0x1f7d,2,15), (0x1f80,0x1fb4,2,15), (0x1fb6,0x1fbc,2,15),
|
||||||
|
(0x1fbd,0x1fbd,2,9), (0x1fbe,0x1fbe,2,15), (0x1fbf,0x1fc1,2,9),
|
||||||
|
(0x1fc2,0x1fc4,2,15), (0x1fc6,0x1fcc,2,15), (0x1fcd,0x1fcf,2,9),
|
||||||
|
(0x1fd0,0x1fd3,2,15), (0x1fd6,0x1fdb,2,15), (0x1fdd,0x1fdf,2,9),
|
||||||
|
(0x1fe0,0x1fec,2,15), (0x1fed,0x1fef,2,9), (0x1ff2,0x1ff4,2,15),
|
||||||
|
(0x1ff6,0x1ffc,2,15), (0x1ffd,0x1ffe,2,9), (0x2000,0x200a,0,1),
|
||||||
|
(0x200b,0x200b,0,13), (0x200c,0x200d,40,13), (0x200e,0x200f,0,13),
|
||||||
|
(0x2010,0x2015,0,7), (0x2016,0x2017,0,2), (0x2018,0x2018,0,12),
|
||||||
|
(0x2019,0x2019,0,16), (0x201a,0x201a,0,4), (0x201b,0x201c,0,12),
|
||||||
|
(0x201d,0x201d,0,16), (0x201e,0x201e,0,4), (0x201f,0x201f,0,12),
|
||||||
|
(0x2020,0x2027,0,2), (0x2028,0x2028,0,20), (0x2029,0x2029,0,21),
|
||||||
|
(0x202a,0x202e,0,13), (0x202f,0x202f,0,1), (0x2030,0x2038,0,2),
|
||||||
|
(0x2039,0x2039,0,12), (0x203a,0x203a,0,16), (0x203b,0x203e,0,2),
|
||||||
|
(0x203f,0x2040,0,10), (0x2041,0x2043,0,2), (0x2044,0x2044,0,6),
|
||||||
|
(0x2045,0x2045,0,4), (0x2046,0x2046,0,5), (0x2047,0x2051,0,2),
|
||||||
|
(0x2052,0x2052,0,6), (0x2053,0x2053,0,2), (0x2054,0x2054,0,10),
|
||||||
|
(0x2055,0x205e,0,2), (0x205f,0x205f,0,1), (0x2060,0x2064,0,13),
|
||||||
|
(0x206a,0x206f,0,13), (0x2070,0x2070,0,14), (0x2071,0x2071,1,17),
|
||||||
|
(0x2074,0x2079,0,14), (0x207a,0x207c,0,6), (0x207d,0x207d,0,4),
|
||||||
|
(0x207e,0x207e,0,5), (0x207f,0x207f,1,17), (0x2080,0x2089,0,14),
|
||||||
|
(0x208a,0x208c,0,6), (0x208d,0x208d,0,4), (0x208e,0x208e,0,5),
|
||||||
|
(0x2090,0x209c,1,17), (0x20a0,0x20b9,0,3), (0x20d0,0x20dc,40,23),
|
||||||
|
(0x20dd,0x20e0,40,24), (0x20e1,0x20e1,40,23), (0x20e2,0x20e4,40,24),
|
||||||
|
(0x20e5,0x20f0,40,23), (0x2100,0x2101,0,11), (0x2102,0x2102,0,15),
|
||||||
|
(0x2103,0x2106,0,11), (0x2107,0x2107,0,15), (0x2108,0x2109,0,11),
|
||||||
|
(0x210a,0x2113,0,15), (0x2114,0x2114,0,11), (0x2115,0x2115,0,15),
|
||||||
|
(0x2116,0x2117,0,11), (0x2118,0x2118,0,6), (0x2119,0x211d,0,15),
|
||||||
|
(0x211e,0x2123,0,11), (0x2124,0x2124,0,15), (0x2125,0x2125,0,11),
|
||||||
|
(0x2126,0x2126,2,15), (0x2127,0x2127,0,11), (0x2128,0x2128,0,15),
|
||||||
|
(0x2129,0x2129,0,11), (0x212a,0x212b,1,15), (0x212c,0x212d,0,15),
|
||||||
|
(0x212e,0x212e,0,11), (0x212f,0x2131,0,15), (0x2132,0x2132,1,15),
|
||||||
|
(0x2133,0x2134,0,15), (0x2135,0x2138,0,19), (0x2139,0x2139,0,15),
|
||||||
|
(0x213a,0x213b,0,11), (0x213c,0x213f,0,15), (0x2140,0x2144,0,6),
|
||||||
|
(0x2145,0x2149,0,15), (0x214a,0x214a,0,11), (0x214b,0x214b,0,6),
|
||||||
|
(0x214c,0x214d,0,11), (0x214e,0x214e,1,15), (0x214f,0x214f,0,11),
|
||||||
|
(0x2150,0x215f,0,14), (0x2160,0x2182,1,22), (0x2183,0x2184,1,15),
|
||||||
|
(0x2185,0x2188,1,22), (0x2189,0x2189,0,14), (0x2190,0x2194,0,6),
|
||||||
|
(0x2195,0x2199,0,11), (0x219a,0x219b,0,6), (0x219c,0x219f,0,11),
|
||||||
|
(0x21a0,0x21a0,0,6), (0x21a1,0x21a2,0,11), (0x21a3,0x21a3,0,6),
|
||||||
|
(0x21a4,0x21a5,0,11), (0x21a6,0x21a6,0,6), (0x21a7,0x21ad,0,11),
|
||||||
|
(0x21ae,0x21ae,0,6), (0x21af,0x21cd,0,11), (0x21ce,0x21cf,0,6),
|
||||||
|
(0x21d0,0x21d1,0,11), (0x21d2,0x21d2,0,6), (0x21d3,0x21d3,0,11),
|
||||||
|
(0x21d4,0x21d4,0,6), (0x21d5,0x21f3,0,11), (0x21f4,0x22ff,0,6),
|
||||||
|
(0x2300,0x2307,0,11), (0x2308,0x230b,0,6), (0x230c,0x231f,0,11),
|
||||||
|
(0x2320,0x2321,0,6), (0x2322,0x2328,0,11), (0x2329,0x2329,0,4),
|
||||||
|
(0x232a,0x232a,0,5), (0x232b,0x237b,0,11), (0x237c,0x237c,0,6),
|
||||||
|
(0x237d,0x239a,0,11), (0x239b,0x23b3,0,6), (0x23b4,0x23db,0,11),
|
||||||
|
(0x23dc,0x23e1,0,6), (0x23e2,0x23f3,0,11), (0x2400,0x2426,0,11),
|
||||||
|
(0x2440,0x244a,0,11), (0x2460,0x249b,0,14), (0x249c,0x24e9,0,11),
|
||||||
|
(0x24ea,0x24ff,0,14), (0x2500,0x25b6,0,11), (0x25b7,0x25b7,0,6),
|
||||||
|
(0x25b8,0x25c0,0,11), (0x25c1,0x25c1,0,6), (0x25c2,0x25f7,0,11),
|
||||||
|
(0x25f8,0x25ff,0,6), (0x2600,0x266e,0,11), (0x266f,0x266f,0,6),
|
||||||
|
(0x2670,0x26ff,0,11), (0x2701,0x2767,0,11), (0x2768,0x2768,0,4),
|
||||||
|
(0x2769,0x2769,0,5), (0x276a,0x276a,0,4), (0x276b,0x276b,0,5),
|
||||||
|
(0x276c,0x276c,0,4), (0x276d,0x276d,0,5), (0x276e,0x276e,0,4),
|
||||||
|
(0x276f,0x276f,0,5), (0x2770,0x2770,0,4), (0x2771,0x2771,0,5),
|
||||||
|
(0x2772,0x2772,0,4), (0x2773,0x2773,0,5), (0x2774,0x2774,0,4),
|
||||||
|
(0x2775,0x2775,0,5), (0x2776,0x2793,0,14), (0x2794,0x27bf,0,11),
|
||||||
|
(0x27c0,0x27c4,0,6), (0x27c5,0x27c5,0,4), (0x27c6,0x27c6,0,5),
|
||||||
|
(0x27c7,0x27e5,0,6), (0x27e6,0x27e6,0,4), (0x27e7,0x27e7,0,5),
|
||||||
|
(0x27e8,0x27e8,0,4), (0x27e9,0x27e9,0,5), (0x27ea,0x27ea,0,4),
|
||||||
|
(0x27eb,0x27eb,0,5), (0x27ec,0x27ec,0,4), (0x27ed,0x27ed,0,5),
|
||||||
|
(0x27ee,0x27ee,0,4), (0x27ef,0x27ef,0,5), (0x27f0,0x27ff,0,6),
|
||||||
|
(0x2800,0x28ff,52,11), (0x2900,0x2982,0,6), (0x2983,0x2983,0,4),
|
||||||
|
(0x2984,0x2984,0,5), (0x2985,0x2985,0,4), (0x2986,0x2986,0,5),
|
||||||
|
(0x2987,0x2987,0,4), (0x2988,0x2988,0,5), (0x2989,0x2989,0,4),
|
||||||
|
(0x298a,0x298a,0,5), (0x298b,0x298b,0,4), (0x298c,0x298c,0,5),
|
||||||
|
(0x298d,0x298d,0,4), (0x298e,0x298e,0,5), (0x298f,0x298f,0,4),
|
||||||
|
(0x2990,0x2990,0,5), (0x2991,0x2991,0,4), (0x2992,0x2992,0,5),
|
||||||
|
(0x2993,0x2993,0,4), (0x2994,0x2994,0,5), (0x2995,0x2995,0,4),
|
||||||
|
(0x2996,0x2996,0,5), (0x2997,0x2997,0,4), (0x2998,0x2998,0,5),
|
||||||
|
(0x2999,0x29d7,0,6), (0x29d8,0x29d8,0,4), (0x29d9,0x29d9,0,5),
|
||||||
|
(0x29da,0x29da,0,4), (0x29db,0x29db,0,5), (0x29dc,0x29fb,0,6),
|
||||||
|
(0x29fc,0x29fc,0,4), (0x29fd,0x29fd,0,5), (0x29fe,0x2aff,0,6),
|
||||||
|
(0x2b00,0x2b2f,0,11), (0x2b30,0x2b44,0,6), (0x2b45,0x2b46,0,11),
|
||||||
|
(0x2b47,0x2b4c,0,6), (0x2b50,0x2b59,0,11), (0x2c00,0x2c2e,56,15),
|
||||||
|
(0x2c30,0x2c5e,56,15), (0x2c60,0x2c7b,1,15), (0x2c7c,0x2c7d,1,17),
|
||||||
|
(0x2c7e,0x2c7f,1,15), (0x2c80,0x2ce4,54,15), (0x2ce5,0x2cea,54,11),
|
||||||
|
(0x2ceb,0x2cee,54,15), (0x2cef,0x2cf1,54,23), (0x2cf2,0x2cf3,54,15),
|
||||||
|
(0x2cf9,0x2cfc,54,2), (0x2cfd,0x2cfd,54,14), (0x2cfe,0x2cff,54,2),
|
||||||
|
(0x2d00,0x2d25,23,15), (0x2d27,0x2d27,23,15), (0x2d2d,0x2d2d,23,15),
|
||||||
|
(0x2d30,0x2d67,57,19), (0x2d6f,0x2d6f,57,17), (0x2d70,0x2d70,57,2),
|
||||||
|
(0x2d7f,0x2d7f,57,23), (0x2d80,0x2d96,25,19), (0x2da0,0x2da6,25,19),
|
||||||
|
(0x2da8,0x2dae,25,19), (0x2db0,0x2db6,25,19), (0x2db8,0x2dbe,25,19),
|
||||||
|
(0x2dc0,0x2dc6,25,19), (0x2dc8,0x2dce,25,19), (0x2dd0,0x2dd6,25,19),
|
||||||
|
(0x2dd8,0x2dde,25,19), (0x2de0,0x2dff,3,23), (0x2e00,0x2e01,0,2),
|
||||||
|
(0x2e02,0x2e02,0,12), (0x2e03,0x2e03,0,16), (0x2e04,0x2e04,0,12),
|
||||||
|
(0x2e05,0x2e05,0,16), (0x2e06,0x2e08,0,2), (0x2e09,0x2e09,0,12),
|
||||||
|
(0x2e0a,0x2e0a,0,16), (0x2e0b,0x2e0b,0,2), (0x2e0c,0x2e0c,0,12),
|
||||||
|
(0x2e0d,0x2e0d,0,16), (0x2e0e,0x2e16,0,2), (0x2e17,0x2e17,0,7),
|
||||||
|
(0x2e18,0x2e19,0,2), (0x2e1a,0x2e1a,0,7), (0x2e1b,0x2e1b,0,2),
|
||||||
|
(0x2e1c,0x2e1c,0,12), (0x2e1d,0x2e1d,0,16), (0x2e1e,0x2e1f,0,2),
|
||||||
|
(0x2e20,0x2e20,0,12), (0x2e21,0x2e21,0,16), (0x2e22,0x2e22,0,4),
|
||||||
|
(0x2e23,0x2e23,0,5), (0x2e24,0x2e24,0,4), (0x2e25,0x2e25,0,5),
|
||||||
|
(0x2e26,0x2e26,0,4), (0x2e27,0x2e27,0,5), (0x2e28,0x2e28,0,4),
|
||||||
|
(0x2e29,0x2e29,0,5), (0x2e2a,0x2e2e,0,2), (0x2e2f,0x2e2f,0,17),
|
||||||
|
(0x2e30,0x2e39,0,2), (0x2e3a,0x2e3b,0,7), (0x2e80,0x2e99,35,11),
|
||||||
|
(0x2e9b,0x2ef3,35,11), (0x2f00,0x2fd5,35,11), (0x2ff0,0x2ffb,0,11),
|
||||||
|
(0x3000,0x3000,0,1), (0x3001,0x3003,0,2), (0x3004,0x3004,0,11),
|
||||||
|
(0x3005,0x3005,35,17), (0x3006,0x3006,0,19), (0x3007,0x3007,35,22),
|
||||||
|
(0x3008,0x3008,0,4), (0x3009,0x3009,0,5), (0x300a,0x300a,0,4),
|
||||||
|
(0x300b,0x300b,0,5), (0x300c,0x300c,0,4), (0x300d,0x300d,0,5),
|
||||||
|
(0x300e,0x300e,0,4), (0x300f,0x300f,0,5), (0x3010,0x3010,0,4),
|
||||||
|
(0x3011,0x3011,0,5), (0x3012,0x3013,0,11), (0x3014,0x3014,0,4),
|
||||||
|
(0x3015,0x3015,0,5), (0x3016,0x3016,0,4), (0x3017,0x3017,0,5),
|
||||||
|
(0x3018,0x3018,0,4), (0x3019,0x3019,0,5), (0x301a,0x301a,0,4),
|
||||||
|
(0x301b,0x301b,0,5), (0x301c,0x301c,0,7), (0x301d,0x301d,0,4),
|
||||||
|
(0x301e,0x301f,0,5), (0x3020,0x3020,0,11), (0x3021,0x3029,35,22),
|
||||||
|
(0x302a,0x302d,40,23), (0x302e,0x302f,24,18), (0x3030,0x3030,0,7),
|
||||||
|
(0x3031,0x3035,0,17), (0x3036,0x3037,0,11), (0x3038,0x303a,35,22),
|
||||||
|
(0x303b,0x303b,35,17), (0x303c,0x303c,0,19), (0x303d,0x303d,0,2),
|
||||||
|
(0x303e,0x303f,0,11), (0x3041,0x3096,32,19), (0x3099,0x309a,40,23),
|
||||||
|
(0x309b,0x309c,0,9), (0x309d,0x309e,32,17), (0x309f,0x309f,32,19),
|
||||||
|
(0x30a0,0x30a0,0,7), (0x30a1,0x30fa,33,19), (0x30fb,0x30fb,0,2),
|
||||||
|
(0x30fc,0x30fc,0,17), (0x30fd,0x30fe,33,17), (0x30ff,0x30ff,33,19),
|
||||||
|
(0x3105,0x312d,34,19), (0x3131,0x318e,24,19), (0x3190,0x3191,0,11),
|
||||||
|
(0x3192,0x3195,0,14), (0x3196,0x319f,0,11), (0x31a0,0x31ba,34,19),
|
||||||
|
(0x31c0,0x31e3,0,11), (0x31f0,0x31ff,33,19), (0x3200,0x321e,24,11),
|
||||||
|
(0x3220,0x3229,0,14), (0x322a,0x3247,0,11), (0x3248,0x324f,0,14),
|
||||||
|
(0x3250,0x3250,0,11), (0x3251,0x325f,0,14), (0x3260,0x327e,24,11),
|
||||||
|
(0x327f,0x327f,0,11), (0x3280,0x3289,0,14), (0x328a,0x32b0,0,11),
|
||||||
|
(0x32b1,0x32bf,0,14), (0x32c0,0x32cf,0,11), (0x32d0,0x32fe,33,11),
|
||||||
|
(0x3300,0x3357,33,11), (0x3358,0x33ff,0,11), (0x3400,0x4db5,35,19),
|
||||||
|
(0x4dc0,0x4dff,0,11), (0x4e00,0x9fcc,35,19), (0xa000,0xa014,36,19),
|
||||||
|
(0xa015,0xa015,36,17), (0xa016,0xa48c,36,19), (0xa490,0xa4c6,36,11),
|
||||||
|
(0xa4d0,0xa4f7,82,19), (0xa4f8,0xa4fd,82,17), (0xa4fe,0xa4ff,82,2),
|
||||||
|
(0xa500,0xa60b,69,19), (0xa60c,0xa60c,69,17), (0xa60d,0xa60f,69,2),
|
||||||
|
(0xa610,0xa61f,69,19), (0xa620,0xa629,69,8), (0xa62a,0xa62b,69,19),
|
||||||
|
(0xa640,0xa66d,3,15), (0xa66e,0xa66e,3,19), (0xa66f,0xa66f,3,23),
|
||||||
|
(0xa670,0xa672,3,24), (0xa673,0xa673,3,2), (0xa674,0xa67d,3,23),
|
||||||
|
(0xa67e,0xa67e,3,2), (0xa67f,0xa67f,3,17), (0xa680,0xa697,3,15),
|
||||||
|
(0xa69f,0xa69f,3,23), (0xa6a0,0xa6e5,83,19), (0xa6e6,0xa6ef,83,22),
|
||||||
|
(0xa6f0,0xa6f1,83,23), (0xa6f2,0xa6f7,83,2), (0xa700,0xa716,0,9),
|
||||||
|
(0xa717,0xa71f,0,17), (0xa720,0xa721,0,9), (0xa722,0xa76f,1,15),
|
||||||
|
(0xa770,0xa770,1,17), (0xa771,0xa787,1,15), (0xa788,0xa788,0,17),
|
||||||
|
(0xa789,0xa78a,0,9), (0xa78b,0xa78e,1,15), (0xa790,0xa793,1,15),
|
||||||
|
(0xa7a0,0xa7aa,1,15), (0xa7f8,0xa7f9,1,17), (0xa7fa,0xa7fa,1,15),
|
||||||
|
(0xa7fb,0xa7ff,1,19), (0xa800,0xa801,58,19), (0xa802,0xa802,58,23),
|
||||||
|
(0xa803,0xa805,58,19), (0xa806,0xa806,58,23), (0xa807,0xa80a,58,19),
|
||||||
|
(0xa80b,0xa80b,58,23), (0xa80c,0xa822,58,19), (0xa823,0xa824,58,18),
|
||||||
|
(0xa825,0xa826,58,23), (0xa827,0xa827,58,18), (0xa828,0xa82b,58,11),
|
||||||
|
(0xa830,0xa835,0,14), (0xa836,0xa837,0,11), (0xa838,0xa838,0,3),
|
||||||
|
(0xa839,0xa839,0,11), (0xa840,0xa873,64,19), (0xa874,0xa877,64,2),
|
||||||
|
(0xa880,0xa881,70,18), (0xa882,0xa8b3,70,19), (0xa8b4,0xa8c3,70,18),
|
||||||
|
(0xa8c4,0xa8c4,70,23), (0xa8ce,0xa8cf,70,2), (0xa8d0,0xa8d9,70,8),
|
||||||
|
(0xa8e0,0xa8f1,9,23), (0xa8f2,0xa8f7,9,19), (0xa8f8,0xa8fa,9,2),
|
||||||
|
(0xa8fb,0xa8fb,9,19), (0xa900,0xa909,71,8), (0xa90a,0xa925,71,19),
|
||||||
|
(0xa926,0xa92d,71,23), (0xa92e,0xa92f,71,2), (0xa930,0xa946,72,19),
|
||||||
|
(0xa947,0xa951,72,23), (0xa952,0xa953,72,18), (0xa95f,0xa95f,72,2),
|
||||||
|
(0xa960,0xa97c,24,19), (0xa980,0xa982,84,23), (0xa983,0xa983,84,18),
|
||||||
|
(0xa984,0xa9b2,84,19), (0xa9b3,0xa9b3,84,23), (0xa9b4,0xa9b5,84,18),
|
||||||
|
(0xa9b6,0xa9b9,84,23), (0xa9ba,0xa9bb,84,18), (0xa9bc,0xa9bc,84,23),
|
||||||
|
(0xa9bd,0xa9c0,84,18), (0xa9c1,0xa9cd,84,2), (0xa9cf,0xa9cf,84,17),
|
||||||
|
(0xa9d0,0xa9d9,84,8), (0xa9de,0xa9df,84,2), (0xaa00,0xaa28,76,19),
|
||||||
|
(0xaa29,0xaa2e,76,23), (0xaa2f,0xaa30,76,18), (0xaa31,0xaa32,76,23),
|
||||||
|
(0xaa33,0xaa34,76,18), (0xaa35,0xaa36,76,23), (0xaa40,0xaa42,76,19),
|
||||||
|
(0xaa43,0xaa43,76,23), (0xaa44,0xaa4b,76,19), (0xaa4c,0xaa4c,76,23),
|
||||||
|
(0xaa4d,0xaa4d,76,18), (0xaa50,0xaa59,76,8), (0xaa5c,0xaa5f,76,2),
|
||||||
|
(0xaa60,0xaa6f,22,19), (0xaa70,0xaa70,22,17), (0xaa71,0xaa76,22,19),
|
||||||
|
(0xaa77,0xaa79,22,11), (0xaa7a,0xaa7a,22,19), (0xaa7b,0xaa7b,22,18),
|
||||||
|
(0xaa80,0xaaaf,78,19), (0xaab0,0xaab0,78,23), (0xaab1,0xaab1,78,19),
|
||||||
|
(0xaab2,0xaab4,78,23), (0xaab5,0xaab6,78,19), (0xaab7,0xaab8,78,23),
|
||||||
|
(0xaab9,0xaabd,78,19), (0xaabe,0xaabf,78,23), (0xaac0,0xaac0,78,19),
|
||||||
|
(0xaac1,0xaac1,78,23), (0xaac2,0xaac2,78,19), (0xaadb,0xaadc,78,19),
|
||||||
|
(0xaadd,0xaadd,78,17), (0xaade,0xaadf,78,2), (0xaae0,0xaaea,85,19),
|
||||||
|
(0xaaeb,0xaaeb,85,18), (0xaaec,0xaaed,85,23), (0xaaee,0xaaef,85,18),
|
||||||
|
(0xaaf0,0xaaf1,85,2), (0xaaf2,0xaaf2,85,19), (0xaaf3,0xaaf4,85,17),
|
||||||
|
(0xaaf5,0xaaf5,85,18), (0xaaf6,0xaaf6,85,23), (0xab01,0xab06,25,19),
|
||||||
|
(0xab09,0xab0e,25,19), (0xab11,0xab16,25,19), (0xab20,0xab26,25,19),
|
||||||
|
(0xab28,0xab2e,25,19), (0xabc0,0xabe2,85,19), (0xabe3,0xabe4,85,18),
|
||||||
|
(0xabe5,0xabe5,85,23), (0xabe6,0xabe7,85,18), (0xabe8,0xabe8,85,23),
|
||||||
|
(0xabe9,0xabea,85,18), (0xabeb,0xabeb,85,2), (0xabec,0xabec,85,18),
|
||||||
|
(0xabed,0xabed,85,23), (0xabf0,0xabf9,85,8), (0xac00,0xd7a3,24,19),
|
||||||
|
(0xd7b0,0xd7c6,24,19), (0xd7cb,0xd7fb,24,19), (0xf900,0xfa6d,35,19),
|
||||||
|
(0xfa70,0xfad9,35,19), (0xfb00,0xfb06,1,15), (0xfb13,0xfb17,4,15),
|
||||||
|
(0xfb1d,0xfb1d,5,19), (0xfb1e,0xfb1e,5,23), (0xfb1f,0xfb28,5,19),
|
||||||
|
(0xfb29,0xfb29,5,6), (0xfb2a,0xfb36,5,19), (0xfb38,0xfb3c,5,19),
|
||||||
|
(0xfb3e,0xfb3e,5,19), (0xfb40,0xfb41,5,19), (0xfb43,0xfb44,5,19),
|
||||||
|
(0xfb46,0xfb4f,5,19), (0xfb50,0xfbb1,6,19), (0xfbb2,0xfbc1,6,9),
|
||||||
|
(0xfbd3,0xfd3d,6,19), (0xfd3e,0xfd3e,0,4), (0xfd3f,0xfd3f,0,5),
|
||||||
|
(0xfd50,0xfd8f,6,19), (0xfd92,0xfdc7,6,19), (0xfdf0,0xfdfb,6,19),
|
||||||
|
(0xfdfc,0xfdfc,6,3), (0xfdfd,0xfdfd,0,11), (0xfe00,0xfe0f,40,23),
|
||||||
|
(0xfe10,0xfe16,0,2), (0xfe17,0xfe17,0,4), (0xfe18,0xfe18,0,5),
|
||||||
|
(0xfe19,0xfe19,0,2), (0xfe20,0xfe26,40,23), (0xfe30,0xfe30,0,2),
|
||||||
|
(0xfe31,0xfe32,0,7), (0xfe33,0xfe34,0,10), (0xfe35,0xfe35,0,4),
|
||||||
|
(0xfe36,0xfe36,0,5), (0xfe37,0xfe37,0,4), (0xfe38,0xfe38,0,5),
|
||||||
|
(0xfe39,0xfe39,0,4), (0xfe3a,0xfe3a,0,5), (0xfe3b,0xfe3b,0,4),
|
||||||
|
(0xfe3c,0xfe3c,0,5), (0xfe3d,0xfe3d,0,4), (0xfe3e,0xfe3e,0,5),
|
||||||
|
(0xfe3f,0xfe3f,0,4), (0xfe40,0xfe40,0,5), (0xfe41,0xfe41,0,4),
|
||||||
|
(0xfe42,0xfe42,0,5), (0xfe43,0xfe43,0,4), (0xfe44,0xfe44,0,5),
|
||||||
|
(0xfe45,0xfe46,0,2), (0xfe47,0xfe47,0,4), (0xfe48,0xfe48,0,5),
|
||||||
|
(0xfe49,0xfe4c,0,2), (0xfe4d,0xfe4f,0,10), (0xfe50,0xfe52,0,2),
|
||||||
|
(0xfe54,0xfe57,0,2), (0xfe58,0xfe58,0,7), (0xfe59,0xfe59,0,4),
|
||||||
|
(0xfe5a,0xfe5a,0,5), (0xfe5b,0xfe5b,0,4), (0xfe5c,0xfe5c,0,5),
|
||||||
|
(0xfe5d,0xfe5d,0,4), (0xfe5e,0xfe5e,0,5), (0xfe5f,0xfe61,0,2),
|
||||||
|
(0xfe62,0xfe62,0,6), (0xfe63,0xfe63,0,7), (0xfe64,0xfe66,0,6),
|
||||||
|
(0xfe68,0xfe68,0,2), (0xfe69,0xfe69,0,3), (0xfe6a,0xfe6b,0,2),
|
||||||
|
(0xfe70,0xfe74,6,19), (0xfe76,0xfefc,6,19), (0xfeff,0xfeff,0,13),
|
||||||
|
(0xff01,0xff03,0,2), (0xff04,0xff04,0,3), (0xff05,0xff07,0,2),
|
||||||
|
(0xff08,0xff08,0,4), (0xff09,0xff09,0,5), (0xff0a,0xff0a,0,2),
|
||||||
|
(0xff0b,0xff0b,0,6), (0xff0c,0xff0c,0,2), (0xff0d,0xff0d,0,7),
|
||||||
|
(0xff0e,0xff0f,0,2), (0xff10,0xff19,0,8), (0xff1a,0xff1b,0,2),
|
||||||
|
(0xff1c,0xff1e,0,6), (0xff1f,0xff20,0,2), (0xff21,0xff3a,1,15),
|
||||||
|
(0xff3b,0xff3b,0,4), (0xff3c,0xff3c,0,2), (0xff3d,0xff3d,0,5),
|
||||||
|
(0xff3e,0xff3e,0,9), (0xff3f,0xff3f,0,10), (0xff40,0xff40,0,9),
|
||||||
|
(0xff41,0xff5a,1,15), (0xff5b,0xff5b,0,4), (0xff5c,0xff5c,0,6),
|
||||||
|
(0xff5d,0xff5d,0,5), (0xff5e,0xff5e,0,6), (0xff5f,0xff5f,0,4),
|
||||||
|
(0xff60,0xff60,0,5), (0xff61,0xff61,0,2), (0xff62,0xff62,0,4),
|
||||||
|
(0xff63,0xff63,0,5), (0xff64,0xff65,0,2), (0xff66,0xff6f,33,19),
|
||||||
|
(0xff70,0xff70,0,17), (0xff71,0xff9d,33,19), (0xff9e,0xff9f,0,17),
|
||||||
|
(0xffa0,0xffbe,24,19), (0xffc2,0xffc7,24,19), (0xffca,0xffcf,24,19),
|
||||||
|
(0xffd2,0xffd7,24,19), (0xffda,0xffdc,24,19), (0xffe0,0xffe1,0,3),
|
||||||
|
(0xffe2,0xffe2,0,6), (0xffe3,0xffe3,0,9), (0xffe4,0xffe4,0,11),
|
||||||
|
(0xffe5,0xffe6,0,3), (0xffe8,0xffe8,0,11), (0xffe9,0xffec,0,6),
|
||||||
|
(0xffed,0xffee,0,11), (0xfff9,0xfffb,0,13), (0xfffc,0xfffd,0,11),
|
||||||
|
(0x10000,0x1000b,47,19), (0x1000d,0x10026,47,19), (0x10028,0x1003a,47,19),
|
||||||
|
(0x1003c,0x1003d,47,19), (0x1003f,0x1004d,47,19), (0x10050,0x1005d,47,19),
|
||||||
|
(0x10080,0x100fa,47,19), (0x10100,0x10102,0,2), (0x10107,0x10133,0,14),
|
||||||
|
(0x10137,0x1013f,0,11), (0x10140,0x10174,2,22), (0x10175,0x10178,2,14),
|
||||||
|
(0x10179,0x10189,2,11), (0x1018a,0x1018a,2,14), (0x10190,0x1019b,0,11),
|
||||||
|
(0x101d0,0x101fc,0,11), (0x101fd,0x101fd,40,23), (0x10280,0x1029c,73,19),
|
||||||
|
(0x102a0,0x102d0,74,19), (0x10300,0x1031e,37,19), (0x10320,0x10323,37,14),
|
||||||
|
(0x10330,0x10340,38,19), (0x10341,0x10341,38,22), (0x10342,0x10349,38,19),
|
||||||
|
(0x1034a,0x1034a,38,22), (0x10380,0x1039d,48,19), (0x1039f,0x1039f,48,2),
|
||||||
|
(0x103a0,0x103c3,59,19), (0x103c8,0x103cf,59,19), (0x103d0,0x103d0,59,2),
|
||||||
|
(0x103d1,0x103d5,59,22), (0x10400,0x1044f,39,15), (0x10450,0x1047f,49,19),
|
||||||
|
(0x10480,0x1049d,50,19), (0x104a0,0x104a9,50,8), (0x10800,0x10805,51,19),
|
||||||
|
(0x10808,0x10808,51,19), (0x1080a,0x10835,51,19), (0x10837,0x10838,51,19),
|
||||||
|
(0x1083c,0x1083c,51,19), (0x1083f,0x1083f,51,19), (0x10840,0x10855,86,19),
|
||||||
|
(0x10857,0x10857,86,2), (0x10858,0x1085f,86,14), (0x10900,0x10915,63,19),
|
||||||
|
(0x10916,0x1091b,63,14), (0x1091f,0x1091f,63,2), (0x10920,0x10939,75,19),
|
||||||
|
(0x1093f,0x1093f,75,2), (0x10980,0x1099f,97,19), (0x109a0,0x109b7,96,19),
|
||||||
|
(0x109be,0x109bf,96,19), (0x10a00,0x10a00,60,19), (0x10a01,0x10a03,60,23),
|
||||||
|
(0x10a05,0x10a06,60,23), (0x10a0c,0x10a0f,60,23), (0x10a10,0x10a13,60,19),
|
||||||
|
(0x10a15,0x10a17,60,19), (0x10a19,0x10a33,60,19), (0x10a38,0x10a3a,60,23),
|
||||||
|
(0x10a3f,0x10a3f,60,23), (0x10a40,0x10a47,60,14), (0x10a50,0x10a58,60,2),
|
||||||
|
(0x10a60,0x10a7c,87,19), (0x10a7d,0x10a7e,87,14), (0x10a7f,0x10a7f,87,2),
|
||||||
|
(0x10b00,0x10b35,79,19), (0x10b39,0x10b3f,79,2), (0x10b40,0x10b55,88,19),
|
||||||
|
(0x10b58,0x10b5f,88,14), (0x10b60,0x10b72,89,19), (0x10b78,0x10b7f,89,14),
|
||||||
|
(0x10c00,0x10c48,90,19), (0x10e60,0x10e7e,6,14), (0x11000,0x11000,93,18),
|
||||||
|
(0x11001,0x11001,93,23), (0x11002,0x11002,93,18), (0x11003,0x11037,93,19),
|
||||||
|
(0x11038,0x11046,93,23), (0x11047,0x1104d,93,2), (0x11052,0x11065,93,14),
|
||||||
|
(0x11066,0x1106f,93,8), (0x11080,0x11081,91,23), (0x11082,0x11082,91,18),
|
||||||
|
(0x11083,0x110af,91,19), (0x110b0,0x110b2,91,18), (0x110b3,0x110b6,91,23),
|
||||||
|
(0x110b7,0x110b8,91,18), (0x110b9,0x110ba,91,23), (0x110bb,0x110bc,91,2),
|
||||||
|
(0x110bd,0x110bd,91,13), (0x110be,0x110c1,91,2), (0x110d0,0x110e8,100,19),
|
||||||
|
(0x110f0,0x110f9,100,8), (0x11100,0x11102,95,23), (0x11103,0x11126,95,19),
|
||||||
|
(0x11127,0x1112b,95,23), (0x1112c,0x1112c,95,18), (0x1112d,0x11134,95,23),
|
||||||
|
(0x11136,0x1113f,95,8), (0x11140,0x11143,95,2), (0x11180,0x11181,99,23),
|
||||||
|
(0x11182,0x11182,99,18), (0x11183,0x111b2,99,19), (0x111b3,0x111b5,99,18),
|
||||||
|
(0x111b6,0x111be,99,23), (0x111bf,0x111c0,99,18), (0x111c1,0x111c4,99,19),
|
||||||
|
(0x111c5,0x111c8,99,2), (0x111d0,0x111d9,99,8), (0x11680,0x116aa,101,19),
|
||||||
|
(0x116ab,0x116ab,101,23), (0x116ac,0x116ac,101,18), (0x116ad,0x116ad,101,23),
|
||||||
|
(0x116ae,0x116af,101,18), (0x116b0,0x116b5,101,23), (0x116b6,0x116b6,101,18),
|
||||||
|
(0x116b7,0x116b7,101,23), (0x116c0,0x116c9,101,8), (0x12000,0x1236e,62,19),
|
||||||
|
(0x12400,0x12462,62,22), (0x12470,0x12473,62,2), (0x13000,0x1342e,80,19),
|
||||||
|
(0x16800,0x16a38,83,19), (0x16f00,0x16f44,98,19), (0x16f50,0x16f50,98,19),
|
||||||
|
(0x16f51,0x16f7e,98,18), (0x16f8f,0x16f92,98,23), (0x16f93,0x16f9f,98,17),
|
||||||
|
(0x1b000,0x1b000,33,19), (0x1b001,0x1b001,32,19), (0x1d000,0x1d0f5,0,11),
|
||||||
|
(0x1d100,0x1d126,0,11), (0x1d129,0x1d164,0,11), (0x1d165,0x1d166,0,18),
|
||||||
|
(0x1d167,0x1d169,40,23), (0x1d16a,0x1d16c,0,11), (0x1d16d,0x1d172,0,18),
|
||||||
|
(0x1d173,0x1d17a,0,13), (0x1d17b,0x1d182,40,23), (0x1d183,0x1d184,0,11),
|
||||||
|
(0x1d185,0x1d18b,40,23), (0x1d18c,0x1d1a9,0,11), (0x1d1aa,0x1d1ad,40,23),
|
||||||
|
(0x1d1ae,0x1d1dd,0,11), (0x1d200,0x1d241,2,11), (0x1d242,0x1d244,2,23),
|
||||||
|
(0x1d245,0x1d245,2,11), (0x1d300,0x1d356,0,11), (0x1d360,0x1d371,0,14),
|
||||||
|
(0x1d400,0x1d454,0,15), (0x1d456,0x1d49c,0,15), (0x1d49e,0x1d49f,0,15),
|
||||||
|
(0x1d4a2,0x1d4a2,0,15), (0x1d4a5,0x1d4a6,0,15), (0x1d4a9,0x1d4ac,0,15),
|
||||||
|
(0x1d4ae,0x1d4b9,0,15), (0x1d4bb,0x1d4bb,0,15), (0x1d4bd,0x1d4c3,0,15),
|
||||||
|
(0x1d4c5,0x1d505,0,15), (0x1d507,0x1d50a,0,15), (0x1d50d,0x1d514,0,15),
|
||||||
|
(0x1d516,0x1d51c,0,15), (0x1d51e,0x1d539,0,15), (0x1d53b,0x1d53e,0,15),
|
||||||
|
(0x1d540,0x1d544,0,15), (0x1d546,0x1d546,0,15), (0x1d54a,0x1d550,0,15),
|
||||||
|
(0x1d552,0x1d6a5,0,15), (0x1d6a8,0x1d6c0,0,15), (0x1d6c1,0x1d6c1,0,6),
|
||||||
|
(0x1d6c2,0x1d6da,0,15), (0x1d6db,0x1d6db,0,6), (0x1d6dc,0x1d6fa,0,15),
|
||||||
|
(0x1d6fb,0x1d6fb,0,6), (0x1d6fc,0x1d714,0,15), (0x1d715,0x1d715,0,6),
|
||||||
|
(0x1d716,0x1d734,0,15), (0x1d735,0x1d735,0,6), (0x1d736,0x1d74e,0,15),
|
||||||
|
(0x1d74f,0x1d74f,0,6), (0x1d750,0x1d76e,0,15), (0x1d76f,0x1d76f,0,6),
|
||||||
|
(0x1d770,0x1d788,0,15), (0x1d789,0x1d789,0,6), (0x1d78a,0x1d7a8,0,15),
|
||||||
|
(0x1d7a9,0x1d7a9,0,6), (0x1d7aa,0x1d7c2,0,15), (0x1d7c3,0x1d7c3,0,6),
|
||||||
|
(0x1d7c4,0x1d7cb,0,15), (0x1d7ce,0x1d7ff,0,8), (0x1ee00,0x1ee03,6,19),
|
||||||
|
(0x1ee05,0x1ee1f,6,19), (0x1ee21,0x1ee22,6,19), (0x1ee24,0x1ee24,6,19),
|
||||||
|
(0x1ee27,0x1ee27,6,19), (0x1ee29,0x1ee32,6,19), (0x1ee34,0x1ee37,6,19),
|
||||||
|
(0x1ee39,0x1ee39,6,19), (0x1ee3b,0x1ee3b,6,19), (0x1ee42,0x1ee42,6,19),
|
||||||
|
(0x1ee47,0x1ee47,6,19), (0x1ee49,0x1ee49,6,19), (0x1ee4b,0x1ee4b,6,19),
|
||||||
|
(0x1ee4d,0x1ee4f,6,19), (0x1ee51,0x1ee52,6,19), (0x1ee54,0x1ee54,6,19),
|
||||||
|
(0x1ee57,0x1ee57,6,19), (0x1ee59,0x1ee59,6,19), (0x1ee5b,0x1ee5b,6,19),
|
||||||
|
(0x1ee5d,0x1ee5d,6,19), (0x1ee5f,0x1ee5f,6,19), (0x1ee61,0x1ee62,6,19),
|
||||||
|
(0x1ee64,0x1ee64,6,19), (0x1ee67,0x1ee6a,6,19), (0x1ee6c,0x1ee72,6,19),
|
||||||
|
(0x1ee74,0x1ee77,6,19), (0x1ee79,0x1ee7c,6,19), (0x1ee7e,0x1ee7e,6,19),
|
||||||
|
(0x1ee80,0x1ee89,6,19), (0x1ee8b,0x1ee9b,6,19), (0x1eea1,0x1eea3,6,19),
|
||||||
|
(0x1eea5,0x1eea9,6,19), (0x1eeab,0x1eebb,6,19), (0x1eef0,0x1eef1,6,6),
|
||||||
|
(0x1f000,0x1f02b,0,11), (0x1f030,0x1f093,0,11), (0x1f0a0,0x1f0ae,0,11),
|
||||||
|
(0x1f0b1,0x1f0be,0,11), (0x1f0c1,0x1f0cf,0,11), (0x1f0d1,0x1f0df,0,11),
|
||||||
|
(0x1f100,0x1f10a,0,14), (0x1f110,0x1f12e,0,11), (0x1f130,0x1f16b,0,11),
|
||||||
|
(0x1f170,0x1f19a,0,11), (0x1f1e6,0x1f1ff,0,11), (0x1f200,0x1f200,32,11),
|
||||||
|
(0x1f201,0x1f202,0,11), (0x1f210,0x1f23a,0,11), (0x1f240,0x1f248,0,11),
|
||||||
|
(0x1f250,0x1f251,0,11), (0x1f300,0x1f320,0,11), (0x1f330,0x1f335,0,11),
|
||||||
|
(0x1f337,0x1f37c,0,11), (0x1f380,0x1f393,0,11), (0x1f3a0,0x1f3c4,0,11),
|
||||||
|
(0x1f3c6,0x1f3ca,0,11), (0x1f3e0,0x1f3f0,0,11), (0x1f400,0x1f43e,0,11),
|
||||||
|
(0x1f440,0x1f440,0,11), (0x1f442,0x1f4f7,0,11), (0x1f4f9,0x1f4fc,0,11),
|
||||||
|
(0x1f500,0x1f53d,0,11), (0x1f540,0x1f543,0,11), (0x1f550,0x1f567,0,11),
|
||||||
|
(0x1f5fb,0x1f640,0,11), (0x1f645,0x1f64f,0,11), (0x1f680,0x1f6c5,0,11),
|
||||||
|
(0x1f700,0x1f773,0,11), (0x20000,0x2a6d6,35,19), (0x2a700,0x2b734,35,19),
|
||||||
|
(0x2b740,0x2b81d,35,19), (0x2f800,0x2fa1d,35,19), (0xe0001,0xe0001,0,13),
|
||||||
|
(0xe0020,0xe007f,0,13), (0xe0100,0xe01ef,40,23)
|
||||||
|
]}
|
||||||
|
|
||||||
|
def script_cat(chr):
|
||||||
|
""" For the unicode character chr return a tuple (Scriptname, Category). """
|
||||||
|
l = 0
|
||||||
|
r = len(script_data['idx']) - 1
|
||||||
|
c = ord(chr)
|
||||||
|
while r >= l:
|
||||||
|
m = (l + r) >> 1
|
||||||
|
if c < script_data['idx'][m][0]:
|
||||||
|
r = m - 1
|
||||||
|
elif c > script_data['idx'][m][1]:
|
||||||
|
l = m + 1
|
||||||
|
else:
|
||||||
|
return (
|
||||||
|
script_data['names'][script_data['idx'][m][2]],
|
||||||
|
script_data['cats'][script_data['idx'][m][3]])
|
||||||
|
return 'Unknown', 'Zzzz'
|
||||||
|
|
||||||
|
def script(chr):
|
||||||
|
a, _ = script_cat(chr)
|
||||||
|
return a
|
||||||
|
|
||||||
|
def category(chr):
|
||||||
|
_, a = script_cat(chr)
|
||||||
|
return a
|
||||||
|
|
||||||
|
def _compile_scripts_txt():
|
||||||
|
# build indexes from 'scripts.txt'
|
||||||
|
|
||||||
|
idx = []
|
||||||
|
names = []
|
||||||
|
cats = []
|
||||||
|
|
||||||
|
import urllib2, re, textwrap
|
||||||
|
|
||||||
|
url = 'http://www.unicode.org/Public/UNIDATA/Scripts.txt'
|
||||||
|
f = urllib2.urlopen(url)
|
||||||
|
for ln in f:
|
||||||
|
p = re.findall(r'([0-9A-F]+)(?:\.\.([0-9A-F]+))?\W+(\w+)\s*#\s*(\w+)', ln)
|
||||||
|
if p:
|
||||||
|
a, b, name, cat = p[0]
|
||||||
|
if name not in names:
|
||||||
|
names.append(name)
|
||||||
|
if cat not in cats:
|
||||||
|
cats.append(cat)
|
||||||
|
idx.append((int(a, 16), int(b or a, 16), names.index(name), cats.index(cat)))
|
||||||
|
idx.sort()
|
||||||
|
|
||||||
|
print 'script_data = {\n"names":%s,\n"cats":%s,\n"idx":[\n%s\n]}' % (
|
||||||
|
'\n'.join(textwrap.wrap(repr(names), 80)),
|
||||||
|
'\n'.join(textwrap.wrap(repr(cats), 80)),
|
||||||
|
'\n'.join(textwrap.wrap(', '.join('(0x%x,0x%x,%d,%d)' % c for c in idx), 80)))
|
||||||
|
|
@ -28,7 +28,10 @@ import pyte.screens
|
||||||
#
|
#
|
||||||
import unicodedata2
|
import unicodedata2
|
||||||
|
|
||||||
MYDIR = os.path.abspath(os.path.dirname( os.path.dirname('__file__')))
|
MYDIR = os.path.abspath(os.path.dirname(os.path.dirname('__file__')))
|
||||||
|
sys.path.append("%s/lib/" % MYDIR)
|
||||||
|
import parse_query
|
||||||
|
|
||||||
PNG_CACHE = os.path.join(MYDIR, "cache/png")
|
PNG_CACHE = os.path.join(MYDIR, "cache/png")
|
||||||
|
|
||||||
COLS = 180
|
COLS = 180
|
||||||
|
|
@ -111,7 +114,7 @@ def script_category(char):
|
||||||
else:
|
else:
|
||||||
return cat
|
return cat
|
||||||
|
|
||||||
def gen_term(filename, buf):
|
def gen_term(filename, buf, options=None):
|
||||||
buf = strip_buf(buf)
|
buf = strip_buf(buf)
|
||||||
cols = len(buf[0])
|
cols = len(buf[0])
|
||||||
rows = len(buf)
|
rows = len(buf)
|
||||||
|
|
@ -151,9 +154,33 @@ def gen_term(filename, buf):
|
||||||
y_pos += CHAR_HEIGHT
|
y_pos += CHAR_HEIGHT
|
||||||
#sys.stdout.write('\n')
|
#sys.stdout.write('\n')
|
||||||
|
|
||||||
|
if 'transparency' in options:
|
||||||
|
transparency = options.get('transparency', '255')
|
||||||
|
try:
|
||||||
|
transparency = int(transparency)
|
||||||
|
except:
|
||||||
|
transparceny = 255
|
||||||
|
|
||||||
|
if transparency < 0:
|
||||||
|
transparency = 0
|
||||||
|
|
||||||
|
if transparency > 255:
|
||||||
|
transparency = 255
|
||||||
|
|
||||||
|
image = image.convert("RGBA")
|
||||||
|
datas = image.getdata()
|
||||||
|
|
||||||
|
new_data = []
|
||||||
|
for item in datas:
|
||||||
|
new_item = tuple(list(item[:3]) + [transparency])
|
||||||
|
new_data.append(new_item)
|
||||||
|
|
||||||
|
image.putdata(new_data)
|
||||||
|
|
||||||
|
|
||||||
image.save(filename)
|
image.save(filename)
|
||||||
|
|
||||||
def typescript_to_one_frame(png_file, text):
|
def typescript_to_one_frame(png_file, text, options=None):
|
||||||
"""
|
"""
|
||||||
Render text (terminal sequence) in png_file
|
Render text (terminal sequence) in png_file
|
||||||
"""
|
"""
|
||||||
|
|
@ -169,7 +196,7 @@ def typescript_to_one_frame(png_file, text):
|
||||||
|
|
||||||
stream.feed(text)
|
stream.feed(text)
|
||||||
|
|
||||||
gen_term(png_file, screen.buffer)
|
gen_term(png_file, screen.buffer, options=options)
|
||||||
|
|
||||||
#
|
#
|
||||||
# wttr.in related functions
|
# wttr.in related functions
|
||||||
|
|
@ -189,6 +216,7 @@ def parse_wttrin_png_name(name):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
parsed = {}
|
parsed = {}
|
||||||
|
to_be_parsed = {}
|
||||||
|
|
||||||
if name.lower()[-4:] == '.png':
|
if name.lower()[-4:] == '.png':
|
||||||
parsed['filetype'] = 'png'
|
parsed['filetype'] = 'png'
|
||||||
|
|
@ -197,7 +225,7 @@ def parse_wttrin_png_name(name):
|
||||||
parts = name.split('_')
|
parts = name.split('_')
|
||||||
parsed['location'] = parts[0]
|
parsed['location'] = parts[0]
|
||||||
|
|
||||||
for part in parts:
|
for part in parts[1:]:
|
||||||
if re.match('(?:[0-9]+)x', part):
|
if re.match('(?:[0-9]+)x', part):
|
||||||
parsed['width'] = part[:-1]
|
parsed['width'] = part[:-1]
|
||||||
elif re.match('x(?:[0-9]+)', part):
|
elif re.match('x(?:[0-9]+)', part):
|
||||||
|
|
@ -206,7 +234,11 @@ def parse_wttrin_png_name(name):
|
||||||
parsed['width'], parsed['height'] = part.split('x', 1)
|
parsed['width'], parsed['height'] = part.split('x', 1)
|
||||||
elif '=' in part:
|
elif '=' in part:
|
||||||
arg, val = part.split('=', 1)
|
arg, val = part.split('=', 1)
|
||||||
parsed[arg] = val
|
to_be_parsed[arg] = val
|
||||||
|
else:
|
||||||
|
to_be_parsed[part] = ''
|
||||||
|
|
||||||
|
parsed.update(parse_query.parse_query(to_be_parsed))
|
||||||
|
|
||||||
return parsed
|
return parsed
|
||||||
|
|
||||||
|
|
@ -246,6 +278,9 @@ def make_wttr_in_png(png_name, options=None):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
parsed = parse_wttrin_png_name(png_name)
|
parsed = parse_wttrin_png_name(png_name)
|
||||||
|
print "------"
|
||||||
|
print parsed
|
||||||
|
print "------"
|
||||||
|
|
||||||
# if location is MyLocation it should be overriden
|
# if location is MyLocation it should be overriden
|
||||||
# with autodetected location (from options)
|
# with autodetected location (from options)
|
||||||
|
|
@ -257,6 +292,7 @@ def make_wttr_in_png(png_name, options=None):
|
||||||
if key not in parsed:
|
if key not in parsed:
|
||||||
parsed[key] = val
|
parsed[key] = val
|
||||||
url = make_wttrin_query(parsed)
|
url = make_wttrin_query(parsed)
|
||||||
|
print "URL = ", url
|
||||||
|
|
||||||
timestamp = time.strftime("%Y%m%d%H", time.localtime())
|
timestamp = time.strftime("%Y%m%d%H", time.localtime())
|
||||||
cached_basename = url[14:].replace('/','_')
|
cached_basename = url[14:].replace('/','_')
|
||||||
|
|
@ -267,12 +303,14 @@ def make_wttr_in_png(png_name, options=None):
|
||||||
if not os.path.exists(dirname):
|
if not os.path.exists(dirname):
|
||||||
os.makedirs(dirname)
|
os.makedirs(dirname)
|
||||||
|
|
||||||
|
print "Cached file: %s" % cached_png_file
|
||||||
if os.path.exists(cached_png_file):
|
if os.path.exists(cached_png_file):
|
||||||
return cached_png_file
|
return cached_png_file
|
||||||
|
|
||||||
|
print "Requesting URL: %s" % url
|
||||||
text = requests.get(url).text.replace('\n', '\r\n')
|
text = requests.get(url).text.replace('\n', '\r\n')
|
||||||
curl_output = text.encode('utf-8')
|
curl_output = text.encode('utf-8')
|
||||||
|
|
||||||
typescript_to_one_frame(cached_png_file, curl_output)
|
typescript_to_one_frame(cached_png_file, curl_output, options=parsed)
|
||||||
|
|
||||||
return cached_png_file
|
return cached_png_file
|
||||||
|
|
|
||||||
|
|
@ -7,3 +7,35 @@ Kijev : Kiev
|
||||||
Kharkov : Kharkiv
|
Kharkov : Kharkiv
|
||||||
spb : Saint Petersburg
|
spb : Saint Petersburg
|
||||||
Dnipro : Dnipropetrovsk
|
Dnipro : Dnipropetrovsk
|
||||||
|
st.petersburg: Saint Petersburg
|
||||||
|
sanfrancisco: San Francisco
|
||||||
|
san fransisco:San Francisco
|
||||||
|
San+Francisco:San Francisco
|
||||||
|
San-Francisco:San Francisco
|
||||||
|
Dnipropetrovsk:Dnepropetrovsk
|
||||||
|
Dnepr : Dnipropetrovsk
|
||||||
|
sanjose : San Jose
|
||||||
|
san josé : San Jose
|
||||||
|
newyork : New York
|
||||||
|
newy-yourk : New York
|
||||||
|
new-york : New York
|
||||||
|
Saint-Petersburg: Saint Petersburg
|
||||||
|
Krakow : Krakow,pl
|
||||||
|
indonesia : Jakarta
|
||||||
|
hanoi,vietnam:Hanoi
|
||||||
|
nuernberg : Nuremberg
|
||||||
|
nürnberg : Nuremberg
|
||||||
|
norway : Oslo
|
||||||
|
ville de bruxelles - stad brussel: Brussels
|
||||||
|
frankfurt am main:Frankfurt, Hessen
|
||||||
|
frankfurt :Frankfurt, Brandenburg
|
||||||
|
frankfurt oder : Frankfurt, Brandenburg
|
||||||
|
frankfurt (oder): Frankfurt, Brandenburg
|
||||||
|
tel-aviv : Tel Aviv
|
||||||
|
sao paulo : São Paulo
|
||||||
|
los-angeles : Los Angeles
|
||||||
|
Sevastopol : Sevastopol, Ukraine
|
||||||
|
Beersheva : Beersheba
|
||||||
|
Be'ersheva : Beersheba
|
||||||
|
Be'er Sheva : Beersheba
|
||||||
|
Lugansk : Luhansk
|
||||||
|
|
|
||||||
|
|
@ -104,6 +104,7 @@ printf '%s' "<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
|
||||||
<link rel=\"stylesheet\" type=\"text/css\" href=\"/files/style.css\" />
|
<link rel=\"stylesheet\" type=\"text/css\" href=\"/files/style.css\" />
|
||||||
|
<link rel=\"stylesheet\" type=\"text/css\" href=\"/files/fonts/stylesheet.css\" />
|
||||||
<style type=\"text/css\">
|
<style type=\"text/css\">
|
||||||
.ef0,.f0 { color: #$P0; } .eb0,.b0 { background-color: #$P0; }
|
.ef0,.f0 { color: #$P0; } .eb0,.b0 { background-color: #$P0; }
|
||||||
.ef1,.f1 { color: #$P1; } .eb1,.b1 { background-color: #$P1; }
|
.ef1,.f1 { color: #$P1; } .eb1,.b1 { background-color: #$P1; }
|
||||||
|
|
|
||||||
5
share/bash-function.txt
Normal file
5
share/bash-function.txt
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
wttr()
|
||||||
|
{
|
||||||
|
# change Paris to your default location
|
||||||
|
curl -H "Accept-Language: ${LANG%_*}" wttr.in/"${1:-Paris}"
|
||||||
|
}
|
||||||
5
share/blacklist
Normal file
5
share/blacklist
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
NOT_FOUND
|
||||||
|
apple-touch-icon.png
|
||||||
|
apple-touch-icon-precomposed.png
|
||||||
|
apple-touch-icon-152x152-precomposed.png
|
||||||
|
|
||||||
|
|
@ -3,13 +3,64 @@ Usage:
|
||||||
$ curl wttr.in # current location
|
$ curl wttr.in # current location
|
||||||
$ curl wttr.in/muc # weather in the Munic airport
|
$ curl wttr.in/muc # weather in the Munic airport
|
||||||
|
|
||||||
Supported locations:
|
Supported location types:
|
||||||
|
|
||||||
/paris # city name
|
/paris # city name
|
||||||
|
/~Eiffel+tower # any location
|
||||||
|
/Москва # Unicode name of any location in any language
|
||||||
/muc # airport code (3 letters)
|
/muc # airport code (3 letters)
|
||||||
/@stackoverflow.com # domain name
|
/@stackoverflow.com # domain name
|
||||||
|
/94107 # area codes
|
||||||
|
/-78.46,106.79 # GPS coordinates
|
||||||
|
|
||||||
|
Special locations:
|
||||||
|
|
||||||
|
/moon # Moon phase (add ,+US or ,+France for these cities)
|
||||||
|
/moon@2016-10-25 # Moon phase for the date (@2016-10-25)
|
||||||
|
|
||||||
|
Units:
|
||||||
|
|
||||||
|
?m # metric (SI) (used by default everywhere except US)
|
||||||
|
?u # USCS (used by default in US)
|
||||||
|
?M # show wind speed in m/s
|
||||||
|
|
||||||
|
View options:
|
||||||
|
|
||||||
|
?0 # only current weather
|
||||||
|
?1 # current weather + 1 day
|
||||||
|
?2 # current weather + 2 days
|
||||||
|
?n # narrow version (only day and night)
|
||||||
|
?q # quiet version (no "Weather report" text)
|
||||||
|
?Q # superquiet version (no "Weather report", no city name)
|
||||||
|
?T # switch terminal sequences off (no colors)
|
||||||
|
|
||||||
|
PNG options:
|
||||||
|
|
||||||
|
/paris.png # generate a PNG file
|
||||||
|
?p # add frame arond the output
|
||||||
|
?t # transparency 150
|
||||||
|
transparency=... # transparency from 0 to 255 (255 = not transparent)
|
||||||
|
|
||||||
|
Options can be combined:
|
||||||
|
|
||||||
|
/Paris?0pq
|
||||||
|
/Paris?0pq&lang=fr
|
||||||
|
/Paris_0pq.png # in PNG the file mode are specified after _
|
||||||
|
/Rome_0pq_lang=it.png # long options are separated with underscore
|
||||||
|
|
||||||
|
Localization:
|
||||||
|
|
||||||
|
$ curl wttr.in/paris?lang=fr
|
||||||
|
$ curl -H "Accept-Language: fr" wttr.in/paris
|
||||||
|
|
||||||
|
Supported languages:
|
||||||
|
|
||||||
|
FULL_TRANSLATION (supported)
|
||||||
|
PARTIAL_TRANSLATION (in progress)
|
||||||
|
|
||||||
Special URLs:
|
Special URLs:
|
||||||
|
|
||||||
/:help # show this page
|
/:help # show this page
|
||||||
|
/:bash.function # show recommended bash function wttr()
|
||||||
|
/:translation # show the information about the translators
|
||||||
|
|
||||||
|
|
|
||||||
32
share/translation.txt
Normal file
32
share/translation.txt
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
wttr.in is translated in NUMBER_OF_LANGUAGES languages:
|
||||||
|
|
||||||
|
SUPPORTED_LANGUAGES
|
||||||
|
|
||||||
|
Translated/improved/corrected by:
|
||||||
|
|
||||||
|
* Czech: Juraj Kakody
|
||||||
|
* Finnish: @Maxifi
|
||||||
|
* French: Igor Chubin
|
||||||
|
* German: Igor Chubin
|
||||||
|
* Greek: Panayotis Vryonis
|
||||||
|
* Japanese: @ryunix
|
||||||
|
* Macedonian: Matej Plavevski
|
||||||
|
* Romanian: Gabriel Moruz
|
||||||
|
* Russian: Igor Chubin
|
||||||
|
* Slovak: Juraj Kakody
|
||||||
|
* Swedish: John Eriksson
|
||||||
|
* Serbian: Milan Stevanović @FathVader
|
||||||
|
* Swahili: Joel Mukuthu
|
||||||
|
* Turkish: Atabey Kaygun
|
||||||
|
* Ukrainian: Igor Chubin
|
||||||
|
|
||||||
|
and many many others.
|
||||||
|
|
||||||
|
In the not likely case wttr.in is not yet translated in your language
|
||||||
|
you can help with the translation.
|
||||||
|
Please start with one of the following steps:
|
||||||
|
|
||||||
|
* Open a GitHub issue: github.com/chubin/wttr.in
|
||||||
|
* Write an email to igor@chub.in
|
||||||
|
* Write PM or tweet to igor_chubin
|
||||||
|
|
||||||
Loading…
Add table
Reference in a new issue