blacklight_range_limit 6.0.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rspec +1 -0
- data/.solr_wrapper.yml +6 -0
- data/.travis.yml +4 -2
- data/Gemfile +18 -11
- data/README.md +6 -3
- data/Rakefile +9 -20
- data/VERSION +1 -1
- data/app/helpers/range_limit_helper.rb +4 -4
- data/app/views/blacklight_range_limit/_range_limit_panel.html.erb +3 -3
- data/blacklight_range_limit.gemspec +19 -19
- data/lib/blacklight_range_limit/view_helper_override.rb +1 -0
- data/solr/conf/_rest_managed.json +3 -0
- data/solr/conf/admin-extra.html +31 -0
- data/solr/conf/elevate.xml +36 -0
- data/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
- data/solr/conf/protwords.txt +21 -0
- data/solr/conf/schema.xml +635 -0
- data/solr/conf/scripts.conf +24 -0
- data/solr/conf/solrconfig.xml +411 -0
- data/solr/conf/spellings.txt +2 -0
- data/solr/conf/stopwords.txt +58 -0
- data/solr/conf/stopwords_en.txt +58 -0
- data/solr/conf/synonyms.txt +31 -0
- data/solr/conf/xslt/example.xsl +132 -0
- data/solr/conf/xslt/example_atom.xsl +67 -0
- data/solr/conf/xslt/example_rss.xsl +66 -0
- data/solr/conf/xslt/luke.xsl +337 -0
- data/solr/sample_solr_documents.yml +2692 -0
- data/spec/features/blacklight_range_limit_spec.rb +7 -4
- data/spec/helpers/blacklight_range_limit_helper_spec.rb +7 -0
- data/spec/spec_helper.rb +0 -9
- data/spec/test_app_templates/solr_documents +1 -0
- metadata +33 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a7e3c9e6d2481f927f6708d27337418e2edfcca
|
4
|
+
data.tar.gz: 60c2fb4b80413efc33004628c5917cd988f24878
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a26003bd6a7dae668e7fbaeaa4624d4f14cc1827ed5de1c0e8496d41fab1b54e2fe9308f33cd292757db2051039040fbde879cabfe7e3b495fee684fece3fb3d
|
7
|
+
data.tar.gz: 62a295ad0d129b5a43224455656fad137ec2c38e7da9b63e1ac2cae36ffeaace78bf6f355ffb1316595e91d6f93bbece84b7125819d59a0b1e4759d5efb303c0
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/.solr_wrapper.yml
ADDED
data/.travis.yml
CHANGED
@@ -4,7 +4,7 @@ notifications:
|
|
4
4
|
language: ruby
|
5
5
|
sudo: false
|
6
6
|
rvm:
|
7
|
-
- 2.
|
7
|
+
- 2.3.1
|
8
8
|
|
9
9
|
before_install:
|
10
10
|
- gem install bundler
|
@@ -15,4 +15,6 @@ notifications:
|
|
15
15
|
- blacklight-commits@googlegroups.com
|
16
16
|
|
17
17
|
global_env:
|
18
|
-
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
18
|
+
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
19
|
+
|
20
|
+
jdk: oraclejdk8
|
data/Gemfile
CHANGED
@@ -3,10 +3,10 @@ source 'https://rubygems.org'
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
# BEGIN ENGINE_CART BLOCK
|
6
|
-
# engine_cart: 0.
|
7
|
-
# engine_cart stanza: 0.
|
6
|
+
# engine_cart: 0.10.0
|
7
|
+
# engine_cart stanza: 0.10.0
|
8
8
|
# the below comes from engine_cart, a gem used to test this Rails engine gem in the context of a Rails app.
|
9
|
-
file = File.expand_path(
|
9
|
+
file = File.expand_path('Gemfile', ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path('.internal_test_app', File.dirname(__FILE__)))
|
10
10
|
if File.exist?(file)
|
11
11
|
begin
|
12
12
|
eval_gemfile file
|
@@ -17,15 +17,22 @@ if File.exist?(file)
|
|
17
17
|
else
|
18
18
|
Bundler.ui.warn "[EngineCart] Unable to find test application dependencies in #{file}, using placeholder dependencies"
|
19
19
|
|
20
|
-
|
20
|
+
if ENV['RAILS_VERSION']
|
21
|
+
if ENV['RAILS_VERSION'] == 'edge'
|
22
|
+
gem 'rails', github: 'rails/rails'
|
23
|
+
ENV['ENGINE_CART_RAILS_OPTIONS'] = '--edge --skip-turbolinks'
|
24
|
+
else
|
25
|
+
gem 'rails', ENV['RAILS_VERSION']
|
26
|
+
end
|
27
|
+
end
|
21
28
|
|
22
|
-
|
23
|
-
|
24
|
-
gem 'responders',
|
25
|
-
gem 'sass-rails',
|
26
|
-
|
27
|
-
|
28
|
-
gem 'sass-rails',
|
29
|
+
case ENV['RAILS_VERSION']
|
30
|
+
when /^4.2/
|
31
|
+
gem 'responders', '~> 2.0'
|
32
|
+
gem 'sass-rails', '>= 5.0'
|
33
|
+
gem 'coffee-rails', '~> 4.1.0'
|
34
|
+
when /^4.[01]/
|
35
|
+
gem 'sass-rails', '< 5.0'
|
29
36
|
end
|
30
37
|
end
|
31
38
|
# END ENGINE_CART BLOCK
|
data/README.md
CHANGED
@@ -86,7 +86,8 @@ config.add_facet_field 'pub_date', label: 'Publication Year',
|
|
86
86
|
range: {
|
87
87
|
num_segments: 6,
|
88
88
|
assumed_boundaries: [1100, Time.now.year + 2],
|
89
|
-
segments: false
|
89
|
+
segments: false,
|
90
|
+
maxlength: 4
|
90
91
|
}
|
91
92
|
```
|
92
93
|
|
@@ -96,6 +97,8 @@ config.add_facet_field 'pub_date', label: 'Publication Year',
|
|
96
97
|
* Default null. For a result set that has not yet been limited, instead of taking boundaries from results and making a second AJAX request to fetch segments, just assume these given boundaries. If you'd like to avoid this second AJAX Solr call, you can set :assumed_boundaries to a two-element array of integers instead, and the assumed boundaries will always be used. Note this is live ruby code, you can put calculations in there like Time.now.year + 2.
|
97
98
|
* **:segments** :
|
98
99
|
* Default true. If set to false, then distribution segment facets will not be loaded at all.
|
100
|
+
* **:maxlength** :
|
101
|
+
* Default 4. Changes the value of the `maxlength` attribute of the text boxes, which determines how many digits can be entered.
|
99
102
|
|
100
103
|
## Javascript dependencies
|
101
104
|
|
@@ -134,10 +137,10 @@ is probably the best touch UI anyway, if it can be made to work well.
|
|
134
137
|
|
135
138
|
# Tests
|
136
139
|
|
137
|
-
Test coverage is not great, but there are some tests, using rspec. Run `rake ci` or just `rake` to seed and
|
140
|
+
Test coverage is not great, but there are some tests, using rspec. Run `bundle exec rake ci` or just `bundle exec rake` to seed and
|
138
141
|
start a demo jetty server, build a clean test app, and run tests.
|
139
142
|
|
140
|
-
Just `rake spec` to just run tests against an existing test app and jetty server.
|
143
|
+
Just `bundle exec rake spec` to just run tests against an existing test app and jetty server.
|
141
144
|
|
142
145
|
# Possible future To Do
|
143
146
|
|
data/Rakefile
CHANGED
@@ -1,45 +1,34 @@
|
|
1
1
|
require 'rake'
|
2
|
-
|
3
|
-
|
4
2
|
require 'bundler'
|
5
3
|
Bundler::GemHelper.install_tasks
|
6
4
|
|
7
5
|
require 'rspec/core/rake_task'
|
8
|
-
|
9
6
|
require 'engine_cart/rake_task'
|
7
|
+
require 'solr_wrapper'
|
10
8
|
|
11
9
|
EngineCart.fingerprint_proc = EngineCart.rails_fingerprint_proc
|
12
10
|
|
13
|
-
ZIP_URL = "https://github.com/projectblacklight/blacklight-jetty/archive/v4.10.4.zip"
|
14
|
-
|
15
|
-
require 'jettywrapper'
|
16
|
-
|
17
11
|
task :default => :ci
|
18
12
|
|
19
13
|
desc "Run specs"
|
20
|
-
RSpec::Core::RakeTask.new
|
14
|
+
RSpec::Core::RakeTask.new
|
21
15
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
Rake::Task["test:seed"].invoke
|
29
|
-
Rake::Task['spec'].invoke
|
16
|
+
task ci: ['engine_cart:generate'] do
|
17
|
+
SolrWrapper.wrap do |solr|
|
18
|
+
solr.with_collection(name: 'blacklight-core', dir: File.join(File.expand_path(File.dirname(__FILE__)), "solr", "conf")) do
|
19
|
+
Rake::Task["test:seed"].invoke
|
20
|
+
Rake::Task['spec'].invoke
|
21
|
+
end
|
30
22
|
end
|
31
|
-
raise "test failures: #{error}" if error
|
32
23
|
end
|
33
24
|
|
34
25
|
namespace :test do
|
35
|
-
|
36
26
|
desc "Put sample data into solr"
|
37
|
-
task :
|
27
|
+
task seed: ['engine_cart:generate'] do
|
38
28
|
within_test_app do
|
39
29
|
ENV['RAILS_ENV'] ||= 'test'
|
40
30
|
system "rake blacklight:index:seed"
|
41
31
|
system "rake blacklight_range_limit:seed"
|
42
32
|
end
|
43
33
|
end
|
44
|
-
|
45
34
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
6.
|
1
|
+
6.1.0
|
@@ -2,14 +2,14 @@
|
|
2
2
|
module RangeLimitHelper
|
3
3
|
|
4
4
|
# type is 'begin' or 'end'
|
5
|
-
def render_range_input(solr_field, type, input_label = nil)
|
5
|
+
def render_range_input(solr_field, type, input_label = nil, maxlength=4)
|
6
6
|
type = type.to_s
|
7
7
|
|
8
8
|
default = params["range"][solr_field][type] if params["range"] && params["range"][solr_field] && params["range"][solr_field][type]
|
9
9
|
|
10
10
|
html = label_tag("range[#{solr_field}][#{type}]", input_label, class: 'sr-only') if input_label.present?
|
11
11
|
html ||= ''.html_safe
|
12
|
-
html += text_field_tag("range[#{solr_field}][#{type}]", default, :maxlength=>
|
12
|
+
html += text_field_tag("range[#{solr_field}][#{type}]", default, :maxlength=>maxlength, :class => "form-control range_#{type}")
|
13
13
|
end
|
14
14
|
|
15
15
|
# type is 'min' or 'max'
|
@@ -63,7 +63,7 @@ module RangeLimitHelper
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def add_range_missing(solr_field, my_params = params)
|
66
|
-
my_params =
|
66
|
+
my_params = Blacklight::SearchState.new(my_params, blacklight_config).to_h
|
67
67
|
my_params["range"] ||= {}
|
68
68
|
my_params["range"][solr_field] ||= {}
|
69
69
|
my_params["range"][solr_field]["missing"] = "true"
|
@@ -77,7 +77,7 @@ module RangeLimitHelper
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def add_range(solr_field, from, to, my_params = params)
|
80
|
-
my_params =
|
80
|
+
my_params = Blacklight::SearchState.new(my_params, blacklight_config).to_h
|
81
81
|
my_params["range"] ||= {}
|
82
82
|
my_params["range"][solr_field] ||= {}
|
83
83
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<%- # requires solr_config local passed in
|
2
|
-
|
3
2
|
field_config = range_config(solr_field)
|
4
3
|
label = facet_field_label(solr_field)
|
5
4
|
|
6
5
|
input_label_range_begin = field_config[:input_label_range_begin] || t("blacklight.range_limit.range_begin", field_label: label)
|
7
6
|
input_label_range_end = field_config[:input_label_range_end] || t("blacklight.range_limit.range_end", field_label: label)
|
7
|
+
maxlength = field_config[:maxlength]
|
8
8
|
-%>
|
9
9
|
|
10
10
|
<div class="limit_content range_limit">
|
@@ -39,7 +39,7 @@
|
|
39
39
|
<%= hidden_field_tag("search_field", "dummy_range") %>
|
40
40
|
<% end %>
|
41
41
|
|
42
|
-
<%= render_range_input(solr_field, :begin, input_label_range_begin) %> – <%= render_range_input(solr_field, :end, input_label_range_end) %>
|
42
|
+
<%= render_range_input(solr_field, :begin, input_label_range_begin, maxlength) %> – <%= render_range_input(solr_field, :end, input_label_range_end, maxlength) %>
|
43
43
|
<%= submit_tag t('blacklight.range_limit.submit_limit'), :class=>'submit btn btn-default' %>
|
44
44
|
|
45
45
|
<% end %>
|
@@ -67,7 +67,7 @@
|
|
67
67
|
<%= render(:partial => "blacklight_range_limit/range_segments", :locals => {:solr_field => solr_field}) %>
|
68
68
|
|
69
69
|
<% else %>
|
70
|
-
<%= link_to('View distribution',
|
70
|
+
<%= link_to('View distribution', search_state.to_h.merge(action: 'range_limit', range_field: solr_field, range_start: min, range_end: max), :class => "load_distribution") %>
|
71
71
|
<% end %>
|
72
72
|
</div>
|
73
73
|
<% end %>
|
@@ -1,31 +1,31 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
-
require File.join(File.dirname(__FILE__),
|
2
|
+
require File.join(File.dirname(__FILE__), 'lib/blacklight_range_limit/version')
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
|
-
s.name
|
6
|
-
s.version
|
5
|
+
s.name = 'blacklight_range_limit'
|
6
|
+
s.version = BlacklightRangeLimit::VERSION
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
|
-
s.authors
|
9
|
-
s.email
|
10
|
-
s.homepage
|
11
|
-
s.summary
|
8
|
+
s.authors = ['Jonathan Rochkind', 'Chris Beer']
|
9
|
+
s.email = ['blacklight-development@googlegroups.com']
|
10
|
+
s.homepage = 'https://github.com/projectblacklight/blacklight_range_limit'
|
11
|
+
s.summary = 'Blacklight Range Limit plugin'
|
12
12
|
|
13
13
|
s.files = `git ls-files`.split("\n")
|
14
14
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
15
15
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
16
|
-
s.require_paths = [
|
16
|
+
s.require_paths = ['lib']
|
17
17
|
|
18
|
-
s.license =
|
18
|
+
s.license = 'Apache 2.0'
|
19
19
|
|
20
|
-
s.add_dependency
|
21
|
-
s.add_dependency
|
22
|
-
s.add_dependency
|
23
|
-
|
24
|
-
s.add_development_dependency
|
25
|
-
s.add_development_dependency
|
26
|
-
s.add_development_dependency
|
27
|
-
s.add_development_dependency
|
20
|
+
s.add_dependency 'rails', '>= 3.0'
|
21
|
+
s.add_dependency 'jquery-rails' # our JS needs jquery_rails
|
22
|
+
s.add_dependency 'blacklight', '~> 6.0'
|
23
|
+
|
24
|
+
s.add_development_dependency 'rspec', '~> 3.0'
|
25
|
+
s.add_development_dependency 'rspec-rails'
|
26
|
+
s.add_development_dependency 'capybara'
|
27
|
+
s.add_development_dependency 'sqlite3'
|
28
28
|
s.add_development_dependency 'launchy'
|
29
|
-
s.add_development_dependency
|
30
|
-
s.add_development_dependency
|
29
|
+
s.add_development_dependency 'solr_wrapper', '~> 0.14'
|
30
|
+
s.add_development_dependency 'engine_cart', '~> 1.0'
|
31
31
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<!--
|
2
|
+
Licensed to the Apache Software Foundation (ASF) under one or more
|
3
|
+
contributor license agreements. See the NOTICE file distributed with
|
4
|
+
this work for additional information regarding copyright ownership.
|
5
|
+
The ASF licenses this file to You under the Apache License, Version 2.0
|
6
|
+
(the "License"); you may not use this file except in compliance with
|
7
|
+
the License. You may obtain a copy of the License at
|
8
|
+
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
See the License for the specific language governing permissions and
|
15
|
+
limitations under the License.
|
16
|
+
-->
|
17
|
+
|
18
|
+
<!-- The content of this page will be statically included into the top
|
19
|
+
of the admin page. Uncomment this as an example to see there the content
|
20
|
+
will show up.
|
21
|
+
|
22
|
+
<hr>
|
23
|
+
<i>This line will appear before the first table</i>
|
24
|
+
<tr>
|
25
|
+
<td colspan="2">
|
26
|
+
This row will be appended to the end of the first table
|
27
|
+
</td>
|
28
|
+
</tr>
|
29
|
+
<hr>
|
30
|
+
|
31
|
+
-->
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2
|
+
<!--
|
3
|
+
Licensed to the Apache Software Foundation (ASF) under one or more
|
4
|
+
contributor license agreements. See the NOTICE file distributed with
|
5
|
+
this work for additional information regarding copyright ownership.
|
6
|
+
The ASF licenses this file to You under the Apache License, Version 2.0
|
7
|
+
(the "License"); you may not use this file except in compliance with
|
8
|
+
the License. You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
-->
|
18
|
+
|
19
|
+
<!-- If this file is found in the config directory, it will only be
|
20
|
+
loaded once at startup. If it is found in Solr's data
|
21
|
+
directory, it will be re-loaded every commit.
|
22
|
+
-->
|
23
|
+
|
24
|
+
<elevate>
|
25
|
+
<query text="foo bar">
|
26
|
+
<doc id="1" />
|
27
|
+
<doc id="2" />
|
28
|
+
<doc id="3" />
|
29
|
+
</query>
|
30
|
+
|
31
|
+
<query text="ipod">
|
32
|
+
<doc id="MA147LL/A" /> <!-- put the actual ipod at the top -->
|
33
|
+
<doc id="IW-02" exclude="true" /> <!-- exclude this cable -->
|
34
|
+
</query>
|
35
|
+
|
36
|
+
</elevate>
|
@@ -0,0 +1,246 @@
|
|
1
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
2
|
+
# (the "License"); you may not use this file except in compliance with
|
3
|
+
# the License. You may obtain a copy of the License at
|
4
|
+
#
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
#
|
7
|
+
# Unless required by applicable law or agreed to in writing, software
|
8
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
9
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
10
|
+
# See the License for the specific language governing permissions and
|
11
|
+
# limitations under the License.
|
12
|
+
|
13
|
+
# Syntax:
|
14
|
+
# "source" => "target"
|
15
|
+
# "source".length() > 0 (source cannot be empty.)
|
16
|
+
# "target".length() >= 0 (target can be empty.)
|
17
|
+
|
18
|
+
# example:
|
19
|
+
# "??" => "A"
|
20
|
+
# "\u00C0" => "A"
|
21
|
+
# "\u00C0" => "\u0041"
|
22
|
+
# "??" => "ss"
|
23
|
+
# "\t" => " "
|
24
|
+
# "\n" => ""
|
25
|
+
|
26
|
+
# ?? => A
|
27
|
+
"\u00C0" => "A"
|
28
|
+
|
29
|
+
# ?? => A
|
30
|
+
"\u00C1" => "A"
|
31
|
+
|
32
|
+
# ?? => A
|
33
|
+
"\u00C2" => "A"
|
34
|
+
|
35
|
+
# ?? => A
|
36
|
+
"\u00C3" => "A"
|
37
|
+
|
38
|
+
# ?? => A
|
39
|
+
"\u00C4" => "A"
|
40
|
+
|
41
|
+
# ?? => A
|
42
|
+
"\u00C5" => "A"
|
43
|
+
|
44
|
+
# ?? => AE
|
45
|
+
"\u00C6" => "AE"
|
46
|
+
|
47
|
+
# ?? => C
|
48
|
+
"\u00C7" => "C"
|
49
|
+
|
50
|
+
# ?? => E
|
51
|
+
"\u00C8" => "E"
|
52
|
+
|
53
|
+
# ?? => E
|
54
|
+
"\u00C9" => "E"
|
55
|
+
|
56
|
+
# ?? => E
|
57
|
+
"\u00CA" => "E"
|
58
|
+
|
59
|
+
# ?? => E
|
60
|
+
"\u00CB" => "E"
|
61
|
+
|
62
|
+
# ?? => I
|
63
|
+
"\u00CC" => "I"
|
64
|
+
|
65
|
+
# ?? => I
|
66
|
+
"\u00CD" => "I"
|
67
|
+
|
68
|
+
# ?? => I
|
69
|
+
"\u00CE" => "I"
|
70
|
+
|
71
|
+
# ?? => I
|
72
|
+
"\u00CF" => "I"
|
73
|
+
|
74
|
+
# ?? => IJ
|
75
|
+
"\u0132" => "IJ"
|
76
|
+
|
77
|
+
# ?? => D
|
78
|
+
"\u00D0" => "D"
|
79
|
+
|
80
|
+
# ?? => N
|
81
|
+
"\u00D1" => "N"
|
82
|
+
|
83
|
+
# ?? => O
|
84
|
+
"\u00D2" => "O"
|
85
|
+
|
86
|
+
# ?? => O
|
87
|
+
"\u00D3" => "O"
|
88
|
+
|
89
|
+
# ?? => O
|
90
|
+
"\u00D4" => "O"
|
91
|
+
|
92
|
+
# ?? => O
|
93
|
+
"\u00D5" => "O"
|
94
|
+
|
95
|
+
# ?? => O
|
96
|
+
"\u00D6" => "O"
|
97
|
+
|
98
|
+
# ?? => O
|
99
|
+
"\u00D8" => "O"
|
100
|
+
|
101
|
+
# ?? => OE
|
102
|
+
"\u0152" => "OE"
|
103
|
+
|
104
|
+
# ??
|
105
|
+
"\u00DE" => "TH"
|
106
|
+
|
107
|
+
# ?? => U
|
108
|
+
"\u00D9" => "U"
|
109
|
+
|
110
|
+
# ?? => U
|
111
|
+
"\u00DA" => "U"
|
112
|
+
|
113
|
+
# ?? => U
|
114
|
+
"\u00DB" => "U"
|
115
|
+
|
116
|
+
# ?? => U
|
117
|
+
"\u00DC" => "U"
|
118
|
+
|
119
|
+
# ?? => Y
|
120
|
+
"\u00DD" => "Y"
|
121
|
+
|
122
|
+
# ?? => Y
|
123
|
+
"\u0178" => "Y"
|
124
|
+
|
125
|
+
# ?? => a
|
126
|
+
"\u00E0" => "a"
|
127
|
+
|
128
|
+
# ?? => a
|
129
|
+
"\u00E1" => "a"
|
130
|
+
|
131
|
+
# ?? => a
|
132
|
+
"\u00E2" => "a"
|
133
|
+
|
134
|
+
# ?? => a
|
135
|
+
"\u00E3" => "a"
|
136
|
+
|
137
|
+
# ?? => a
|
138
|
+
"\u00E4" => "a"
|
139
|
+
|
140
|
+
# ?? => a
|
141
|
+
"\u00E5" => "a"
|
142
|
+
|
143
|
+
# ?? => ae
|
144
|
+
"\u00E6" => "ae"
|
145
|
+
|
146
|
+
# ?? => c
|
147
|
+
"\u00E7" => "c"
|
148
|
+
|
149
|
+
# ?? => e
|
150
|
+
"\u00E8" => "e"
|
151
|
+
|
152
|
+
# ?? => e
|
153
|
+
"\u00E9" => "e"
|
154
|
+
|
155
|
+
# ?? => e
|
156
|
+
"\u00EA" => "e"
|
157
|
+
|
158
|
+
# ?? => e
|
159
|
+
"\u00EB" => "e"
|
160
|
+
|
161
|
+
# ?? => i
|
162
|
+
"\u00EC" => "i"
|
163
|
+
|
164
|
+
# ?? => i
|
165
|
+
"\u00ED" => "i"
|
166
|
+
|
167
|
+
# ?? => i
|
168
|
+
"\u00EE" => "i"
|
169
|
+
|
170
|
+
# ?? => i
|
171
|
+
"\u00EF" => "i"
|
172
|
+
|
173
|
+
# ?? => ij
|
174
|
+
"\u0133" => "ij"
|
175
|
+
|
176
|
+
# ?? => d
|
177
|
+
"\u00F0" => "d"
|
178
|
+
|
179
|
+
# ?? => n
|
180
|
+
"\u00F1" => "n"
|
181
|
+
|
182
|
+
# ?? => o
|
183
|
+
"\u00F2" => "o"
|
184
|
+
|
185
|
+
# ?? => o
|
186
|
+
"\u00F3" => "o"
|
187
|
+
|
188
|
+
# ?? => o
|
189
|
+
"\u00F4" => "o"
|
190
|
+
|
191
|
+
# ?? => o
|
192
|
+
"\u00F5" => "o"
|
193
|
+
|
194
|
+
# ?? => o
|
195
|
+
"\u00F6" => "o"
|
196
|
+
|
197
|
+
# ?? => o
|
198
|
+
"\u00F8" => "o"
|
199
|
+
|
200
|
+
# ?? => oe
|
201
|
+
"\u0153" => "oe"
|
202
|
+
|
203
|
+
# ?? => ss
|
204
|
+
"\u00DF" => "ss"
|
205
|
+
|
206
|
+
# ?? => th
|
207
|
+
"\u00FE" => "th"
|
208
|
+
|
209
|
+
# ?? => u
|
210
|
+
"\u00F9" => "u"
|
211
|
+
|
212
|
+
# ?? => u
|
213
|
+
"\u00FA" => "u"
|
214
|
+
|
215
|
+
# ?? => u
|
216
|
+
"\u00FB" => "u"
|
217
|
+
|
218
|
+
# ?? => u
|
219
|
+
"\u00FC" => "u"
|
220
|
+
|
221
|
+
# ?? => y
|
222
|
+
"\u00FD" => "y"
|
223
|
+
|
224
|
+
# ?? => y
|
225
|
+
"\u00FF" => "y"
|
226
|
+
|
227
|
+
# ??? => ff
|
228
|
+
"\uFB00" => "ff"
|
229
|
+
|
230
|
+
# ??? => fi
|
231
|
+
"\uFB01" => "fi"
|
232
|
+
|
233
|
+
# ??? => fl
|
234
|
+
"\uFB02" => "fl"
|
235
|
+
|
236
|
+
# ??? => ffi
|
237
|
+
"\uFB03" => "ffi"
|
238
|
+
|
239
|
+
# ??? => ffl
|
240
|
+
"\uFB04" => "ffl"
|
241
|
+
|
242
|
+
# ??? => ft
|
243
|
+
"\uFB05" => "ft"
|
244
|
+
|
245
|
+
# ??? => st
|
246
|
+
"\uFB06" => "st"
|