interscript 2.3.1a → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e2a42db10c2cd99083f404f74ab10be34229e8393d8b29a7f6b8f839eb857839
4
- data.tar.gz: 5a15755052db0086a4703ddb88a402ad8fa23ed59302f11206ddf0d122510477
3
+ metadata.gz: ca7ce2fc4c27356d85be541d0b06b26295951b2d8c63c184438c133c9cda1c3a
4
+ data.tar.gz: f702d7c53b70a874c9568212a0606bd34745f644acccaf2606710022b21e7ac6
5
5
  SHA512:
6
- metadata.gz: fd85bca889dba2bb86e028fdc5498b3bfac060771c428f6b27c65729fb38f03bf455fc8e6d7f41d69a954568426a6b6c8e9d5b635406e8b6f89ee5459389d151
7
- data.tar.gz: c09d42b2531d92ab16dfa36d710e4f4a1cb68ba358f3c99336a99677ac786e38825faa92fdfe3fcda7eadb099c68f544c80888520007eedc7ee10d049f36002a
6
+ metadata.gz: e54b852c2b59fe28fdf3ae98ebe97e032773df9f5179372c70e9be21148a36c1646f4484bddffd644dcfadccf070c9d4841036c29b04700fd7fb8fd229b568e0
7
+ data.tar.gz: 97a3fffa46e46019ccdff5c6c56e088ca64e35b81c7dde899bd7df2facd641fbce9d4bb0e4a0812e88688c4a2632c340b99885e94c23d01869b5c6c0c7100545
@@ -0,0 +1,86 @@
1
+ name: release-assets
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ jobs:
9
+ assets:
10
+ runs-on: ubuntu-latest
11
+ env:
12
+ BUNDLE_WITHOUT: "secryst:jsexec"
13
+ SKIP_JS: "1"
14
+ steps:
15
+ - name: Checkout repository
16
+ uses: actions/checkout@v2
17
+ with:
18
+ repository: interscript/interscript
19
+
20
+ - name: Run bootstrap script
21
+ run: ruby bootstrap.rb
22
+
23
+ - name: Use Ruby
24
+ uses: ruby/setup-ruby@v1
25
+ with:
26
+ ruby-version: 3.0
27
+ bundler-cache: true
28
+
29
+ - name: Generate visualization json
30
+ working-directory: ./ruby
31
+ run: bundle exec rake generate_visualization_json
32
+
33
+ - name: Archive json files from the previous step
34
+ uses: thedoctor0/zip-release@master
35
+ with:
36
+ filename: 'vis_json.zip'
37
+ path: ./vis_json/*.json
38
+ directory: ./ruby/
39
+ exclusions: '*.git*'
40
+ type: zip
41
+
42
+ - name: Upload artifacts
43
+ id: upload_vis_json
44
+ uses: svenstaro/upload-release-action@2.2.1
45
+ with:
46
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
47
+ file: ruby/vis_json.zip
48
+ file_glob: true
49
+ tag: ${{ github.ref }}
50
+ overwrite: true
51
+
52
+ - name: Generate metadata
53
+ working-directory: ./ruby
54
+ run: bundle exec rake generate_metadata_json
55
+
56
+ - name: Archive metadata from the previous step
57
+ uses: thedoctor0/zip-release@master
58
+ with:
59
+ filename: 'metadata.zip'
60
+ path: ./metadata.json
61
+ directory: ./ruby/
62
+ exclusions: '*.git*'
63
+ type: zip
64
+
65
+ - name: Upload metadata
66
+ id: upload_metadata
67
+ uses: svenstaro/upload-release-action@2.2.1
68
+ with:
69
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
70
+ file: ruby/metadata.zip
71
+ asset_name: metadata.json.zip
72
+ tag: ${{ github.ref }}
73
+ overwrite: true
74
+
75
+ - name: Output link
76
+ run: |
77
+ echo ${{ steps.upload_vis_json.outputs.browser_download_url }}
78
+ echo ${{ steps.upload_metadata.outputs.browser_download_url }}
79
+
80
+ # - name: Trigger deploy at interscript.org
81
+ # uses: peter-evans/repository-dispatch@v1
82
+ # with:
83
+ # token: ${{ secrets.INTERSCRIPT_CI_TOKEN }}
84
+ # repository: interscript/interscript.org
85
+ # event-type: ${{ github.repository }}
86
+ # client-payload: '{ "ref": "${{ github.ref }}" }'
@@ -0,0 +1,54 @@
1
+ name: rake
2
+
3
+ on:
4
+ push:
5
+ branches: [ main, v* ]
6
+ tags: [ v* ]
7
+ pull_request:
8
+
9
+ jobs:
10
+ rspec:
11
+ name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
12
+ runs-on: ${{ matrix.os }}
13
+ continue-on-error: ${{ matrix.experimental }}
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ ruby: [ 2.7, 2.6, 2.5 ]
18
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
19
+ experimental: [ false ]
20
+ include:
21
+ - ruby: 3.0
22
+ os: 'ubuntu-latest'
23
+ experimental: true
24
+ - ruby: 3.0
25
+ os: 'windows-latest'
26
+ experimental: true
27
+ - ruby: 3.0
28
+ os: 'macos-latest'
29
+ experimental: true
30
+
31
+ env:
32
+ BUNDLE_WITHOUT: "secryst"
33
+ SKIP_JS: "1"
34
+
35
+ steps:
36
+ - name: Checkout repository
37
+ uses: actions/checkout@v2
38
+ with:
39
+ repository: interscript/interscript
40
+
41
+ - name: Run bootstrap script
42
+ run: ruby bootstrap.rb
43
+
44
+ - name: Use Ruby
45
+ uses: ruby/setup-ruby@v1
46
+ with:
47
+ ruby-version: ${{ matrix.ruby }}
48
+ bundler-cache: true
49
+
50
+ - name: Run RSpecs
51
+ working-directory: ./ruby
52
+ run: |
53
+ bundle install --with=jsexec
54
+ bundle exec rspec -f f
@@ -0,0 +1,67 @@
1
+ name: release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ jobs:
9
+ release:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - name: Checkout repository
13
+ uses: actions/checkout@v2
14
+ with:
15
+ repository: interscript/interscript
16
+
17
+ - name: Run bootstrap script
18
+ run: ruby bootstrap.rb
19
+
20
+ - uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: '2.7'
23
+
24
+ - uses: actions/setup-node@v1
25
+ with:
26
+ node-version: 14.x
27
+
28
+ # For now let's install without secryst, as we don't necessarily need it.
29
+ # We may need to change it once we start to depend on secryst maps.
30
+ - name: Install bundle
31
+ working-directory: ./ruby
32
+ run: bundle install --jobs 4 --retry 3 --with jsexec --without secryst
33
+
34
+ - name: Test Ruby package
35
+ working-directory: ./ruby
36
+ run: bundle exec rake
37
+
38
+ - name: Test JS package
39
+ working-directory: ./js
40
+ run: npm install && npm run prepareMaps && npm test
41
+
42
+ - name: Publish to rubygems.org
43
+ env:
44
+ RUBYGEMS_API_KEY: ${{secrets.INTERSCRIPT_RUBYGEMS_API_KEY}}
45
+ run: |
46
+ gem install gem-release
47
+ touch ~/.gem/credentials
48
+ cat > ~/.gem/credentials << EOF
49
+ ---
50
+ :rubygems_api_key: ${RUBYGEMS_API_KEY}
51
+ EOF
52
+ chmod 0600 ~/.gem/credentials
53
+ pushd ruby
54
+ git status
55
+ gem release
56
+ popd
57
+
58
+ # Let's keep it commented out for now. Please uncomment it once you are ready with
59
+ # interscript-api to support Interscript v2.
60
+ #
61
+ #- name: Trigger interscript-api
62
+ # uses: peter-evans/repository-dispatch@v1
63
+ # with:
64
+ # token: ${{ secrets.INTERSCRIPT_CI_PAT_TOKEN }}
65
+ # repository: interscript/interscript-api
66
+ # event-type: ${{ github.repository }}
67
+ # client-payload: '{ "ref": "${{ github.ref }}" }'
data/.gitignore CHANGED
@@ -1,4 +1,72 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /spec/examples.txt
9
+ /test/tmp/
10
+ /test/version_tmp/
11
+ /tmp/
12
+ /Gemfile.lock
13
+
14
+ # Used by dotenv library to load environment variables.
15
+ # .env
16
+
17
+ # Ignore Byebug command history file.
18
+ .byebug_history
19
+
20
+ ## Specific to RubyMotion:
21
+ .dat*
22
+ .repl_history
23
+ /build/
24
+ *.bridgesupport
25
+ /build-iPhoneOS/
26
+ /build-iPhoneSimulator/
27
+
28
+ ## Specific to RubyMotion (use of CocoaPods):
29
+ #
30
+ # We recommend against adding the Pods directory to your .gitignore. However
31
+ # you should judge for yourself, the pros and cons are mentioned at:
32
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
33
+ #
34
+ # vendor/Pods/
35
+
36
+ ## Documentation cache and generated files:
37
+ /.yardoc/
38
+ /_yardoc/
39
+ /doc/
40
+ /rdoc/
41
+
42
+ ## Environment normalization:
1
43
  /.bundle/
44
+ /vendor/bundle
45
+ /lib/bundler/man/
46
+
47
+ # for a library or gem, you might want to ignore these files since the code is
48
+ # intended to run in multiple environments; otherwise, check them in:
49
+ # Gemfile.lock
50
+ # .ruby-version
51
+ # .ruby-gemset
52
+
53
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
54
+ /.rvmrc
55
+
56
+ # Don't bundle generated files
57
+ /visualizations
58
+ /json
59
+ /vis_json
60
+ /auth_json
61
+ /metadata.json
62
+ /compiled
63
+
64
+ # Used by RuboCop. Remote config files pulled in from inherit_from directive.
65
+ # .rubocop-https?--*
66
+
67
+ #misic
68
+ .idea
69
+ .bundle/.bundle/
2
70
  /.yardoc
3
71
  /_yardoc/
4
72
  /coverage/
data/Gemfile CHANGED
@@ -32,4 +32,7 @@ end
32
32
 
33
33
  gem 'pry'
34
34
 
35
+ gem 'iso-639-data'
36
+ gem 'iso-15924'
37
+
35
38
  gem 'simplecov', require: false, group: :test
data/Rakefile CHANGED
@@ -37,22 +37,6 @@ task :compile, [:compiler, :target] do |t, args|
37
37
  File.write(args[:target] + "/index.json", maplist.to_json)
38
38
  end
39
39
 
40
- task :version, [:ver] do |t, ver|
41
- ver = ver[:ver]
42
-
43
- rubyver = File.read(rubyfile = __dir__+"/lib/interscript/version.rb")
44
- jsver = File.read(jsfile = __dir__+"/../js/package.json")
45
- mapsver = File.read(mapsfile = __dir__+"/../maps/interscript-maps.gemspec")
46
-
47
- rubyver = rubyver.gsub(/(VERSION = ")([0-9a-z.-]*)(")/, "\\1#{ver}\\3")
48
- jsver = jsver.gsub(/("version": ")([0-9a-z.-]*)(")/, "\\1#{ver}\\3")
49
- mapsver = mapsver.gsub(/(INTERSCRIPT_MAPS_VERSION=")([0-9a-z.-]*)(")/, "\\1#{ver}\\3")
50
-
51
- File.write(rubyfile, rubyver)
52
- File.write(jsfile, jsver)
53
- File.write(mapsfile, mapsver)
54
- end
55
-
56
40
  task :generate_visualization_html do
57
41
  require "fileutils"
58
42
  require "interscript"
@@ -121,4 +105,35 @@ task :generate_visualization_json do
121
105
  end
122
106
  end
123
107
 
108
+ task :generate_authority_json do
109
+ require "interscript"
110
+ require "json"
111
+ require "iso-639-data"
112
+
113
+ FileUtils.rm_rf(dir = __dir__+"/auth_json/")
114
+ FileUtils.mkdir_p(dir)
115
+
116
+ %w[iso icao din].each do |auth|
117
+ out = Interscript.maps.select do |map_name|
118
+ map_name.start_with? "#{auth}-"
119
+ end.sort.map do |map_name|
120
+ map = Interscript.parse(map_name)
121
+ tests = map.tests&.data&.first(2)&.transpose || []
122
+ std, lang = map.metadata.data[:language].split(':')
123
+
124
+ {
125
+ lang: std.end_with?("-3") ? Iso639Data.iso_639_3[lang]['Ref_Name'] : Iso639Data.iso_639_2[lang]['eng'],
126
+ isoName: map.metadata.data[:name],
127
+ systemName: map_name,
128
+ samples: tests[0] || [],
129
+ english: [],
130
+ result: []
131
+ }
132
+ end
133
+
134
+ json = JSON.pretty_generate(out)
135
+ File.write(dir+auth+".json", json)
136
+ end
137
+ end
138
+
124
139
  task :default => :spec
data/bin/set_version ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ ver = ARGV[0]
3
+ part = ARGV[1]
4
+
5
+ rubyver = File.read(rubyfile = __dir__+"/../lib/interscript/version.rb")
6
+ jsver = File.read(jsfile = __dir__+"/../../js/package.json")
7
+ mapsver = File.read(mapsfile = __dir__+"/../../maps/interscript-maps.gemspec")
8
+
9
+ rubyver = rubyver.gsub(/(VERSION = ")([0-9a-z.-]*)(")/, "\\1#{ver}\\3")
10
+ jsver = jsver.gsub(/("version": ")([0-9a-z.-]*)(")/, "\\1#{ver}\\3")
11
+ mapsver = mapsver.gsub(/(INTERSCRIPT_MAPS_VERSION=")([0-9a-z.-]*)(")/, "\\1#{ver}\\3")
12
+
13
+ File.write(rubyfile, rubyver) if %w[all ruby].include? part
14
+ File.write(jsfile, jsver) if %w[all js].include? part
15
+ File.write(mapsfile, mapsver) if %w[all maps].include? part
16
+
@@ -0,0 +1,4 @@
1
+ عندما يريد العالم أن ‪يتكلّم ‬ ، فهو يتحدّث بلغة يونيكود. تسجّل الآن لحضور المؤتمر الدولي العاشر ليونيكود (Unicode Conference)، الذي سيعقد في 10-12 آذار 1997 بمدينة مَايِنْتْس، ألمانيا. و سيجمع المؤتمر بين خبراء من كافة قطاعات الصناعة على الشبكة العالمية انترنيت ويونيكود، حيث ستتم، على الصعيدين الدولي والمحلي على حد سواء مناقشة سبل استخدام يونكود في النظم القائمة وفيما يخص التطبيقات الحاسوبية، الخطوط، تصميم النصوص والحوسبة متعددة اللغات.
2
+
3
+ مَمِمّمَّمِّ
4
+
@@ -0,0 +1,2 @@
1
+ 当世界需要沟通时,请用Unicode!将于1997年3月10日-12日在德国 Mainz 市举行的第十届统一码国际研讨会现在开始注册。本次会议将汇集各方面的专家。涉及的领域包括:国际互联网和统一码,国际化和本地化,统一码在操作系统和应用软件中的实现,字型,文本格式以及多文种计算等。
2
+
@@ -0,0 +1,2 @@
1
+ हालाँकि सूर के जीवन के बारे में कई जनश्रुतियाँ प्रचलित हैं, पर इन में कितनी सच्चाई है यह कहना कठिन है। कहा जाता है उनका जन्म सन् १४७८ में दिल्ली के पास एक ग़रीब ब्राह्मीण परिवार में हुआ। जनश्रुति के अनुसार सूरदास जन्म से ही अंधे थे। आजकल थी अंधे आदमी अक्सर 'सूरदास' कहलाते हैं। कई लोगों ने उन्हें गुरु के रूप में अपनाया और उनकी पूजा करना शुरु कर दिया ।
2
+
@@ -0,0 +1,2 @@
1
+ Όταν ο κόσμος θέλει να επικοινωνήσει, μιλά Unicode. Εγγραφείτε τώρα στη Δέκατη Διεθνή Διάσκεψη για το Unicode, η οποία θα πραγματοποιηθεί 10-12 Μαρτίου 1997 στο Mainz της Γερμανίας. Η διάσκεψη θα φέρει κοντά ειδικούς από όλους τους τομείς Internet και Unicode, διεθνοποίησης και προσαρμογής λογισμικού, εφαρμογών του Unicode σε λειτουργικά συστήματα και εφαρμογές, γραμματοσειρές, διάρθρωση κειμένου και πολυγλωσσική εργασία σε υπολογιστές.
2
+
@@ -0,0 +1,2 @@
1
+ 세계를 향한 대화, 유니코드로 하십시오. 제10회 유니코드 국제 회의가 1997년 3월 10일부터 12일까지 독일의 마인즈에서 열립니다. 지금 등록하십시오. 이 회의에서는 업계 전반의 전문가들이 함께 모여 다음과 같은 분야를 다룹니다. - 인터넷과 유니코드, 국제화와 지역화, 운영 체제와 응용 프로그램에서 유니코드의 구현, 글꼴, 문자 배열, 다국어 컴퓨팅.
2
+
@@ -0,0 +1,2 @@
1
+ כאשר העולם רוצה לדבר, הוא מדבר ב־Unicode. הירשמו כעת לכנס Unicode הבינלאומי העשירי, שייערך בין התאריכים 12־10 במרץ 1997, בְּמָיְינְץ שבגרמניה. בכנס ישתתפו מומחים מכל ענפי התעשייה בנושא האינטרנט העולמי וה־Unicode, בהתאמה לשוק הבינלאומי והמקומי, ביישום Unicode במערכות הפעלה וביישומים, בגופנים, בפריסת טקסט ובמחשוב רב־לשוני.
2
+
@@ -0,0 +1,2 @@
1
+ Ha a világ beszélni akarna, Unicode-ul szólalna meg. Regisztráljon már most a Tizedik Nemzetközi Unicode Konferenciára, melyet 1997. március 10-12-én rendeznek Meinz-ban, Németországban. Ezen a konferencián az iparág több neves szakértője is résztvesz. Ízelítőül a témákból: a világháló és a Unicode nemzetközisítése és lokalizálása, a Unicode alkalmazása működő rendszerekben és alkalmazásokban, szövegelrendezésnél, és többnyelvű számítógépeken.
2
+
@@ -0,0 +1,2 @@
1
+ 世界的に話すなら、Unicodeです。第10回のUnicode会議は1997年3月10~12日、ドイツのマインツで開かれます。 参 さん 加 か 希 き 望 ぼう の方は今すぐ登録してください。(この会議では、グローバルなインタネット、Unicode、ソフトウェアの国際化およびローカリゼーション、OSおよびアプリケーションでのUnicodeのインプリメンテーション、フォント、テキスト表示、マルチ言語コンピューティングにおける業界の専門家が集まります。)
2
+
@@ -0,0 +1,54 @@
1
+ Выборы депутатов Государственной Думы Федерального Собрания Российской Федерации седьмого созыва
2
+ Дата голосования: 18.09.2016
3
+
4
+ Наименование Избирательной комиссии: ЦИК России
5
+
6
+ Сводная таблица результатов выборов по федеральному избирательному округу
7
+
8
+
9
+
10
+
11
+ 1 Число избирателей, внесенных в список избирателей на момент окончания голосования
12
+ 2 Число избирательных бюллетеней, полученных участковой избирательной комиссией
13
+ 3 Число избирательных бюллетеней, выданных избирателям, проголосовавшим досрочно
14
+ 4 Число избирательных бюллетеней, выданных в помещении для голосования в день голосования
15
+ 5 Число избирательных бюллетеней, выданных вне помещения для голосования в день голосования
16
+ 6 Число погашенных избирательных бюллетеней
17
+ 7 Число избирательных бюллетеней, содержащихся в переносных ящиках для голосования
18
+ 8 Число избирательных бюллетеней, содержащихся в стационарных ящиках для голосования
19
+ 9 Число недействительных избирательных бюллетеней
20
+ 10 Число действительных избирательных бюллетеней
21
+ 11 Число открепительных удостоверений, полученных участковой избирательной комиссией
22
+ 12 Число открепительных удостоверений, выданных на избирательном участке до дня голосования
23
+ 13 Число избирателей, проголосовавших по открепительным удостоверениям на избирательном участке
24
+ 14 Число погашенных неиспользованных открепительных удостоверений
25
+ 15 Число открепительных удостоверений, выданных избирателям территориальной избирательной комиссией
26
+ 16 Число утраченных открепительных удостоверений
27
+ 17 Число утраченных избирательных бюллетеней
28
+ 18 Число избирательных бюллетеней, не учтенных при получении
29
+
30
+ 19 1. ВСЕРОССИЙСКАЯ ПОЛИТИЧЕСКАЯ ПАРТИЯ "РОДИНА"
31
+ 20 2. Политическая партия КОММУНИСТИЧЕСКАЯ ПАРТИЯ КОММУНИСТЫ РОССИИ
32
+ 21 3. Политическая партия "Российская партия пенсионеров за справедливость"
33
+ 22 4. Всероссийская политическая партия "ЕДИНАЯ РОССИЯ"
34
+ 23 5. Политическая партия "Российская экологическая партия "Зеленые"
35
+ 24 6. Политическая партия "Гражданская Платформа"
36
+ 25 7. Политическая партия ЛДПР - Либерально-демократическая партия России
37
+ 26 8. Политическая партия "Партия народной свободы" (ПАРНАС)
38
+ 27 9. Всероссийская политическая партия "ПАРТИЯ РОСТА"
39
+ 28 10. Общественная организация Всероссийская политическая партия "Гражданская Сила"
40
+ 29 11. Политическая партия "Российская объединенная демократическая партия "ЯБЛОКО"
41
+ 30 12. Политическая партия "КОММУНИСТИЧЕСКАЯ ПАРТИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ"
42
+ 31 13. Политическая партия "ПАТРИОТЫ РОССИИ"
43
+ 32 14. Политическая партия СПРАВЕДЛИВАЯ РОССИЯ
44
+
45
+
46
+
47
+ Данные окружных избирательных комиссий о числе открепительных удостоверений
48
+
49
+
50
+ д Число открепительных удостоверений, полученных окружной избирательной комиссией
51
+ е Число открепительных удостоверений, выданных территориальным избирательным комиссиям
52
+ ж Число неиспользованных открепительных удостоверений, погашенных окружной избирательной комиссией
53
+ з Число открепительных удостоверений, утраченных в окружной избирательной комиссии
54
+
@@ -0,0 +1,38 @@
1
+ Дополнительные выборы депутатов Муниципального Совета городского поселения Ростов четвертого созыва по четырехмандатному избирательному округу №1 на замещение двух депутатских мандатов
2
+ Дата голосования: 09.09.2018
3
+
4
+ Наименование Избирательной комиссии: Ростовский городской
5
+
6
+ Результаты выборов по одномандатному (многомандатному) округу
7
+
8
+
9
+
10
+
11
+ Дата и время подписания протокола 10.09.2018 06:20:00
12
+
13
+
14
+ 1 Число избирателей, включенных в список избирателей на момент окончания голосования
15
+ 2 Число бюллетеней, полученных участковой комиссией
16
+ 3 Число бюллетеней, выданных избирателям, проголосовавшим досрочно
17
+ 4 В том числе бюллетеней, выданных избирателям, проголосовавшим досрочно в помещении ТИК
18
+ 5 Число бюллетеней, выданных избирателям в помещении для голосования
19
+ 6 Число бюллетеней, выданных избирателям, проголосовавшим вне помещения для голосования
20
+ 7 Число погашенных бюллетеней
21
+ 8 Число бюллетеней, содержащихся в переносных ящиках
22
+ 9 Число бюллетеней, содержащихся в стационарных ящиках
23
+ 10 Число недействительных бюллетеней
24
+ 11 Число действительных бюллетеней
25
+ 11а Число утраченных бюллетеней
26
+ 11б Число бюллетеней, не учтенных при получении
27
+
28
+ 12 Гаврилов Александр Витальевич
29
+ 13 Жаринов Владимир Иванович
30
+ 14 Иванов Кирилл Алексеевич
31
+ 15 Иконников Дмитрий Александрович
32
+ 16 Кичков Сергей Николаевич
33
+ 17 Кошонин Алексей Александрович
34
+ 18 Михайловский Анатолий Ярославович
35
+ 19 Морсунин Сергей Владимирович
36
+ 20 Невзоров Олег Витальевич
37
+ 21 Полозов Игорь Николаевич
38
+ 22 Сахаров Александр Александрович
@@ -0,0 +1,2 @@
1
+ Эх, тройка! птица тройка, кто тебя выдумал? знать, у бойкого народа ты могла только родиться, в той земле, что не любит шутить, а ровнем-гладнем разметнулась на полсвета, да и ступай считать версты, пока не зарябит тебе в очи. И не хитрый, кажись, дорожный снаряд, не железным схвачен винтом, а наскоро живьём с одним топором да долотом снарядил и собрал тебя ярославский расторопный мужик. Не в немецких ботфортах ямщик: борода да рукавицы, и сидит чёрт знает на чём; а привстал, да замахнулся, да затянул песню — кони вихрем, спицы в колесах смешались в один гладкий круг, только дрогнула дорога, да вскрикнул в испуге остановившийся пешеход — и вон она понеслась, понеслась, понеслась!
2
+ Н.В. Гоголь
@@ -0,0 +1,2 @@
1
+ ณ ยามที่โลกต้องการเอ่ยถ้อยคำใดๆ โลกจะใช้เพียง Unicode เราจึงขอเชิญชวนท่านรีบลงทะเบียนงาน International Unicode Conference ครั้งที่ 10 ซึ่งจะจัดให้มีขึ้น ณ เมือง Mainz ประเทศเยอรมัน ในระหว่างวันที่ 10-12 มีนาคม ค.ศ. 1997 เสียแต่บัดนี้ โดยในงานประชุมดังกล่าว ท่านจะมีโอกาสได้พบกับบรรดาผู้เชี่ยวชาญจากธุรกิจอินเตอร์เน็ตและ Unicode ธุรกิจ Internationalization และ Localization จากทุกมุมทั่วโลก พร้อมรับทราบการใช้ประโยชน์จาก Unicode ร่วมกับระบบปฏิบัติการและโปรแกรมต่างๆ ฟอนต์ รูปแบบข้อความ รวมทั้งวิทยาการด้านคอมพิวเตอร์ในภาษาต่างๆ
2
+
@@ -0,0 +1,16 @@
1
+ (?<=[ΑαΕεΟοΗηΩω])\\u03CD
2
+ (?![ΑαΕεΟοΗηΩω])\\u03A5
3
+ (?<=\\b)\\u03BC\\u03C0
4
+ (ह़=?)(?=[\\u093E\\u093F\\u0940\\u0941\\u0942\\u0943\\u0944\\u0945])
5
+ [\u064a|\u06cc]\u0651
6
+ (?<=\\b\u0627\u0644[\u0600-\u06ff])\u0629
7
+ \u0629$
8
+ ^b
9
+ (?<=)\u042a(?=\b)
10
+ (([क]=?)(?=[\u093E\u093F\u0940\u0941\u0942\u0943\u0944\u0945\u0947\u0948\u0949\u094B\u094C\u0020\u094d]))|(([क])(?=\b))
11
+ a\1b
12
+ (?<=\b\u0627\u0644[\u0600-\u06ff]{2})\u0629
13
+ (?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄀ
14
+ (?<=[ЗзЛлНнСсЦц])\u044C
15
+ \\1\u0301
16
+ \u0650[\u064a|\u06cc]
@@ -171,7 +171,7 @@ class Interscript::Stdlib
171
171
  end
172
172
 
173
173
  def self.available_functions
174
- %i[title_case downcase compose decompose separate unseparate secryst rababa]
174
+ %i[title_case downcase compose decompose separate unseparate secryst rababa rababa_reverse]
175
175
  end
176
176
 
177
177
  def self.reverse_function
@@ -183,7 +183,10 @@ class Interscript::Stdlib
183
183
  decompose: :compose,
184
184
 
185
185
  separate: :unseparate,
186
- unseparate: :separate
186
+ unseparate: :separate,
187
+
188
+ rababa: :rababa_reverse,
189
+ rababa_reverse: :rababa,
187
190
  }
188
191
  end
189
192
 
@@ -249,5 +252,18 @@ class Interscript::Stdlib
249
252
 
250
253
  @rababa_diacritizer.diacritize_text(output)
251
254
  end
255
+
256
+ def self.rababa_reverse(output, config:)
257
+ # require "rababa" rescue nil # Try to load rababa, but don't fail hard if not possible.
258
+ # unless defined? Rababa
259
+ # raise StandardError, "Rababa is not loaded. Please read docs/Usage_with_Rababa.adoc"
260
+ # end
261
+
262
+ # A call to allocate allows us to remove diacritics without initializing the model
263
+ # Rababa::Diacritizer.allocate.remove_diacritics(output)
264
+
265
+ # Unfortunately, this is broken as of now.
266
+ output.gsub(/[\u064e\u064b\u064f\u064c\u0650\u064d\u0652\u0651]/, '')
267
+ end
252
268
  end
253
269
  end
@@ -1,3 +1,3 @@
1
1
  module Interscript
2
- VERSION = "2.3.1a"
2
+ VERSION = "2.4.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: interscript
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.1a
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.3.0a
33
+ version: 2.4.0a
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 2.3.0a
40
+ version: 2.4.0a
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: text
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -60,6 +60,9 @@ executables:
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
+ - ".github/workflows/assets.yml"
64
+ - ".github/workflows/rake.yml"
65
+ - ".github/workflows/release.yml"
63
66
  - ".gitignore"
64
67
  - ".rspec"
65
68
  - Gemfile
@@ -76,7 +79,22 @@ files:
76
79
  - bin/maps_optimize_order
77
80
  - bin/maps_v1_analyze_regexps
78
81
  - bin/maps_v1_to_v2
82
+ - bin/set_version
79
83
  - bin/setup
84
+ - docs/demo/20191118-interscript-demo-cast.gif
85
+ - docs/samples/ara-Arab.txt
86
+ - docs/samples/chn-Hant.txt
87
+ - docs/samples/devanagari.txt
88
+ - docs/samples/gre-Grek.txt
89
+ - docs/samples/hangul.txt
90
+ - docs/samples/heb-Hebr.txt
91
+ - docs/samples/hungarian.txt
92
+ - docs/samples/japanese.txt
93
+ - docs/samples/rus-Cyrl-1.txt
94
+ - docs/samples/rus-Cyrl-2.txt
95
+ - docs/samples/rus-Cyrl.txt
96
+ - docs/samples/thai.txt
97
+ - docs/utils/regexp_examples.txt
80
98
  - exe/interscript
81
99
  - interscript.gemspec
82
100
  - lib/interscript.rb
@@ -145,9 +163,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
145
163
  version: 2.3.0
146
164
  required_rubygems_version: !ruby/object:Gem::Requirement
147
165
  requirements:
148
- - - ">"
166
+ - - ">="
149
167
  - !ruby/object:Gem::Version
150
- version: 1.3.1
168
+ version: '0'
151
169
  requirements: []
152
170
  rubygems_version: 3.1.6
153
171
  signing_key: