srbovanje 2.2.1 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +22 -0
- data/README.md +12 -14
- data/ext/lib/preslovi.x86_64-darwin.h +82 -0
- data/ext/lib/preslovi.x86_64-darwin.so +0 -0
- data/ext/lib/preslovi.x86_64-linux.h +66 -0
- data/ext/lib/preslovi.x86_64-linux.so +0 -0
- data/lib/i18n_config.rb +1 -1
- data/lib/srbovanje.rb +2 -3
- data/lib/srbovanje/preslovi.rb +16 -0
- data/lib/srbovanje/srbovanje.rb +2 -927
- metadata +30 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 023e6dfb500e0f7c94ad43929c393a79d91d7550fd97c728ded531db871460c7
|
4
|
+
data.tar.gz: 29ac77dd8e111626faed8b6c0f901795f8400499d4397adca2def0dc20c47aaa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a40d1c0c568e411d1251442806de3906bec5b1eae90b7d99a56921bb4898bdfd98b5977808de323f062b59f0ea8522ad8b194f64f4bb59d16d4670fa03a27bd
|
7
|
+
data.tar.gz: e9d4fd5662644a49f50de410fdfa047961c084ad9331facf3ee9d2edf92eca81d0dfdf665d4dab9dfe1724560568620f9c46c0e16b3e3c64317d8c16a04f66e6
|
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2009 Dejan Simic
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -1,32 +1,24 @@
|
|
1
1
|
srbovanje
|
2
2
|
=========
|
3
3
|
|
4
|
-
Ruby gem za
|
4
|
+
Ruby gem za preslovanjavanje ćirilice na latinicu i tzv. "ošišanu" (ASCII) latinicu.
|
5
5
|
|
6
6
|
## Instaliranje
|
7
7
|
|
8
8
|
U Gemfile projekta dodajte:
|
9
9
|
|
10
|
-
|
11
|
-
gem 'srbovanje'
|
12
|
-
```
|
13
|
-
|
14
|
-
Implementacija je u "čistom" Rubiju pa radi na svim platformama i verzijama Rubija.
|
10
|
+
gem 'srbovanje'
|
15
11
|
|
16
12
|
## Korišćenje
|
17
13
|
|
18
14
|
```ruby
|
19
|
-
>> "
|
20
|
-
=> "
|
15
|
+
>> "Ђурђевак".latinicom
|
16
|
+
=> "Đurđevak"
|
21
17
|
|
22
|
-
>> "
|
23
|
-
=> "
|
18
|
+
>> "Ђурђевак".latinicom_ascii
|
19
|
+
=> "Djurdjevak"
|
24
20
|
```
|
25
21
|
|
26
|
-
U primerima je takodje demostrirano pravilno preslovljavanje velikih digrafa:
|
27
|
-
1. **Lj**ubav a ne **LJ**ubav
|
28
|
-
2. **DJ**URDJEVAK a ne **Dj**URDJEVAK
|
29
|
-
|
30
22
|
Ako zatreba, tu je i niz sa slovima abecede:
|
31
23
|
|
32
24
|
```ruby
|
@@ -55,6 +47,12 @@ koje koristi i18n gem, tako da će npr. parameterize raditi pravilnije:
|
|
55
47
|
=> "saban-saulic"
|
56
48
|
```
|
57
49
|
|
50
|
+
## Performanse
|
51
|
+
|
52
|
+
Od verzije 3.0, Srbovanje koristi [Go](https://golang.org/) ekstenziju zbog
|
53
|
+
dramatično boljih (30x) performansi. Ekstenzija je unapred kompajlirana i
|
54
|
+
spakovana uz gem, tako da instaliranje gema nema dodatnih zahteva.
|
55
|
+
|
58
56
|
## MIT License
|
59
57
|
|
60
58
|
Copyright (c) 2009 Dejan Simic
|
@@ -0,0 +1,82 @@
|
|
1
|
+
/* Code generated by cmd/cgo; DO NOT EDIT. */
|
2
|
+
|
3
|
+
/* package command-line-arguments */
|
4
|
+
|
5
|
+
|
6
|
+
#line 1 "cgo-builtin-export-prolog"
|
7
|
+
|
8
|
+
#include <stddef.h> /* for ptrdiff_t below */
|
9
|
+
|
10
|
+
#ifndef GO_CGO_EXPORT_PROLOGUE_H
|
11
|
+
#define GO_CGO_EXPORT_PROLOGUE_H
|
12
|
+
|
13
|
+
#ifndef GO_CGO_GOSTRING_TYPEDEF
|
14
|
+
typedef struct { const char *p; ptrdiff_t n; } _GoString_;
|
15
|
+
#endif
|
16
|
+
|
17
|
+
#endif
|
18
|
+
|
19
|
+
/* Start of preamble from import "C" comments. */
|
20
|
+
|
21
|
+
|
22
|
+
#line 3 "preslovi.go"
|
23
|
+
|
24
|
+
#include <stdio.h>
|
25
|
+
#include <stdlib.h>
|
26
|
+
|
27
|
+
#line 1 "cgo-generated-wrapper"
|
28
|
+
|
29
|
+
|
30
|
+
/* End of preamble from import "C" comments. */
|
31
|
+
|
32
|
+
|
33
|
+
/* Start of boilerplate cgo prologue. */
|
34
|
+
#line 1 "cgo-gcc-export-header-prolog"
|
35
|
+
|
36
|
+
#ifndef GO_CGO_PROLOGUE_H
|
37
|
+
#define GO_CGO_PROLOGUE_H
|
38
|
+
|
39
|
+
typedef signed char GoInt8;
|
40
|
+
typedef unsigned char GoUint8;
|
41
|
+
typedef short GoInt16;
|
42
|
+
typedef unsigned short GoUint16;
|
43
|
+
typedef int GoInt32;
|
44
|
+
typedef unsigned int GoUint32;
|
45
|
+
typedef long long GoInt64;
|
46
|
+
typedef unsigned long long GoUint64;
|
47
|
+
typedef GoInt64 GoInt;
|
48
|
+
typedef GoUint64 GoUint;
|
49
|
+
typedef __SIZE_TYPE__ GoUintptr;
|
50
|
+
typedef float GoFloat32;
|
51
|
+
typedef double GoFloat64;
|
52
|
+
typedef float _Complex GoComplex64;
|
53
|
+
typedef double _Complex GoComplex128;
|
54
|
+
|
55
|
+
/*
|
56
|
+
static assertion to make sure the file is being used on architecture
|
57
|
+
at least with matching size of GoInt.
|
58
|
+
*/
|
59
|
+
typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];
|
60
|
+
|
61
|
+
#ifndef GO_CGO_GOSTRING_TYPEDEF
|
62
|
+
typedef _GoString_ GoString;
|
63
|
+
#endif
|
64
|
+
typedef void *GoMap;
|
65
|
+
typedef void *GoChan;
|
66
|
+
typedef struct { void *t; void *v; } GoInterface;
|
67
|
+
typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;
|
68
|
+
|
69
|
+
#endif
|
70
|
+
|
71
|
+
/* End of boilerplate cgo prologue. */
|
72
|
+
|
73
|
+
#ifdef __cplusplus
|
74
|
+
extern "C" {
|
75
|
+
#endif
|
76
|
+
|
77
|
+
extern char* latinicom(char* s);
|
78
|
+
extern char* latinicom_ascii(char* s);
|
79
|
+
|
80
|
+
#ifdef __cplusplus
|
81
|
+
}
|
82
|
+
#endif
|
Binary file
|
@@ -0,0 +1,66 @@
|
|
1
|
+
/* Created by "go tool cgo" - DO NOT EDIT. */
|
2
|
+
|
3
|
+
/* package command-line-arguments */
|
4
|
+
|
5
|
+
/* Start of preamble from import "C" comments. */
|
6
|
+
|
7
|
+
|
8
|
+
#line 3 "/home/airninja/tmp/srbovanje/ext/preslovi.go"
|
9
|
+
|
10
|
+
#include <stdio.h>
|
11
|
+
#include <stdlib.h>
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
/* End of preamble from import "C" comments. */
|
16
|
+
|
17
|
+
|
18
|
+
/* Start of boilerplate cgo prologue. */
|
19
|
+
|
20
|
+
#ifndef GO_CGO_PROLOGUE_H
|
21
|
+
#define GO_CGO_PROLOGUE_H
|
22
|
+
|
23
|
+
typedef signed char GoInt8;
|
24
|
+
typedef unsigned char GoUint8;
|
25
|
+
typedef short GoInt16;
|
26
|
+
typedef unsigned short GoUint16;
|
27
|
+
typedef int GoInt32;
|
28
|
+
typedef unsigned int GoUint32;
|
29
|
+
typedef long long GoInt64;
|
30
|
+
typedef unsigned long long GoUint64;
|
31
|
+
typedef GoInt64 GoInt;
|
32
|
+
typedef GoUint64 GoUint;
|
33
|
+
typedef __SIZE_TYPE__ GoUintptr;
|
34
|
+
typedef float GoFloat32;
|
35
|
+
typedef double GoFloat64;
|
36
|
+
typedef float _Complex GoComplex64;
|
37
|
+
typedef double _Complex GoComplex128;
|
38
|
+
|
39
|
+
/*
|
40
|
+
static assertion to make sure the file is being used on architecture
|
41
|
+
at least with matching size of GoInt.
|
42
|
+
*/
|
43
|
+
typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];
|
44
|
+
|
45
|
+
typedef struct { const char *p; GoInt n; } GoString;
|
46
|
+
typedef void *GoMap;
|
47
|
+
typedef void *GoChan;
|
48
|
+
typedef struct { void *t; void *v; } GoInterface;
|
49
|
+
typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;
|
50
|
+
|
51
|
+
#endif
|
52
|
+
|
53
|
+
/* End of boilerplate cgo prologue. */
|
54
|
+
|
55
|
+
#ifdef __cplusplus
|
56
|
+
extern "C" {
|
57
|
+
#endif
|
58
|
+
|
59
|
+
|
60
|
+
extern char* latinicom(char* p0);
|
61
|
+
|
62
|
+
extern char* latinicom_ascii(char* p0);
|
63
|
+
|
64
|
+
#ifdef __cplusplus
|
65
|
+
}
|
66
|
+
#endif
|
Binary file
|
data/lib/i18n_config.rb
CHANGED
data/lib/srbovanje.rb
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
$KCODE = 'UTF8' if RUBY_VERSION.to_f < 1.9
|
4
|
-
|
5
3
|
require 'srbovanje/srbovanje'
|
4
|
+
require 'srbovanje/preslovi'
|
6
5
|
require 'srbovanje/string_ext'
|
7
6
|
|
8
7
|
if defined?(Rails)
|
9
8
|
require 'srbovanje/railtie'
|
10
9
|
elsif defined?(I18n)
|
11
|
-
require 'i18n_config'
|
10
|
+
require 'i18n_config'
|
12
11
|
end
|
13
12
|
|
14
13
|
module Srbovanje
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'ffi'
|
4
|
+
|
5
|
+
module Preslovi
|
6
|
+
extend FFI::Library
|
7
|
+
|
8
|
+
PLATFORM = "#{Gem::Platform.local.cpu}-#{Gem::Platform.local.os}"
|
9
|
+
|
10
|
+
ffi_lib "#{__dir__}/../../ext/lib/preslovi.#{PLATFORM}.so"
|
11
|
+
|
12
|
+
attach_function :latinicom, [:string], :string
|
13
|
+
attach_function :latinicom_ascii, [:string], :string
|
14
|
+
|
15
|
+
extend self
|
16
|
+
end
|
data/lib/srbovanje/srbovanje.rb
CHANGED
@@ -1,939 +1,14 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
|
3
2
|
module Srbovanje
|
4
3
|
|
5
4
|
ABECEDA = %w(A B C Č Ć D Dž Đ E F G H I J K L Lj M N Nj O P R S Š T U V Z Ž)
|
6
5
|
|
7
|
-
LATINICA_FULL_MAP = {
|
8
|
-
"ЉА" => "LJA",
|
9
|
-
"АЉ" => "ALJ",
|
10
|
-
"ЉБ" => "LJB",
|
11
|
-
"БЉ" => "BLJ",
|
12
|
-
"ЉВ" => "LJV",
|
13
|
-
"ВЉ" => "VLJ",
|
14
|
-
"ЉГ" => "LJG",
|
15
|
-
"ГЉ" => "GLJ",
|
16
|
-
"ЉД" => "LJD",
|
17
|
-
"ДЉ" => "DLJ",
|
18
|
-
"ЉЂ" => "LJĐ",
|
19
|
-
"ЂЉ" => "ĐLJ",
|
20
|
-
"ЉЕ" => "LJE",
|
21
|
-
"ЕЉ" => "ELJ",
|
22
|
-
"ЉЖ" => "LJŽ",
|
23
|
-
"ЖЉ" => "ŽLJ",
|
24
|
-
"ЉЗ" => "LJZ",
|
25
|
-
"ЗЉ" => "ZLJ",
|
26
|
-
"ЉИ" => "LJI",
|
27
|
-
"ИЉ" => "ILJ",
|
28
|
-
"ЉЈ" => "LJJ",
|
29
|
-
"ЈЉ" => "JLJ",
|
30
|
-
"ЉК" => "LJK",
|
31
|
-
"КЉ" => "KLJ",
|
32
|
-
"ЉЛ" => "LJL",
|
33
|
-
"ЛЉ" => "LLJ",
|
34
|
-
"ЉЉ" => "LJLJ",
|
35
|
-
"ЉМ" => "LJM",
|
36
|
-
"МЉ" => "MLJ",
|
37
|
-
"ЉН" => "LJN",
|
38
|
-
"НЉ" => "NLJ",
|
39
|
-
"ЉЊ" => "LJNJ",
|
40
|
-
"ЊЉ" => "NJLJ",
|
41
|
-
"ЉО" => "LJO",
|
42
|
-
"ОЉ" => "OLJ",
|
43
|
-
"ЉП" => "LJP",
|
44
|
-
"ПЉ" => "PLJ",
|
45
|
-
"ЉР" => "LJR",
|
46
|
-
"РЉ" => "RLJ",
|
47
|
-
"ЉС" => "LJS",
|
48
|
-
"СЉ" => "SLJ",
|
49
|
-
"ЉТ" => "LJT",
|
50
|
-
"ТЉ" => "TLJ",
|
51
|
-
"ЉЋ" => "LJĆ",
|
52
|
-
"ЋЉ" => "ĆLJ",
|
53
|
-
"ЉЦ" => "LJC",
|
54
|
-
"ЦЉ" => "CLJ",
|
55
|
-
"ЉУ" => "LJU",
|
56
|
-
"УЉ" => "ULJ",
|
57
|
-
"ЉФ" => "LJF",
|
58
|
-
"ФЉ" => "FLJ",
|
59
|
-
"ЉХ" => "LJH",
|
60
|
-
"ХЉ" => "HLJ",
|
61
|
-
"ЉЧ" => "LJČ",
|
62
|
-
"ЧЉ" => "ČLJ",
|
63
|
-
"ЉЏ" => "LJDŽ",
|
64
|
-
"ЏЉ" => "DŽLJ",
|
65
|
-
"ЉШ" => "LJŠ",
|
66
|
-
"ШЉ" => "ŠLJ",
|
67
|
-
"ЊА" => "NJA",
|
68
|
-
"АЊ" => "ANJ",
|
69
|
-
"ЊБ" => "NJB",
|
70
|
-
"БЊ" => "BNJ",
|
71
|
-
"ЊВ" => "NJV",
|
72
|
-
"ВЊ" => "VNJ",
|
73
|
-
"ЊГ" => "NJG",
|
74
|
-
"ГЊ" => "GNJ",
|
75
|
-
"ЊД" => "NJD",
|
76
|
-
"ДЊ" => "DNJ",
|
77
|
-
"ЊЂ" => "NJĐ",
|
78
|
-
"ЂЊ" => "ĐNJ",
|
79
|
-
"ЊЕ" => "NJE",
|
80
|
-
"ЕЊ" => "ENJ",
|
81
|
-
"ЊЖ" => "NJŽ",
|
82
|
-
"ЖЊ" => "ŽNJ",
|
83
|
-
"ЊЗ" => "NJZ",
|
84
|
-
"ЗЊ" => "ZNJ",
|
85
|
-
"ЊИ" => "NJI",
|
86
|
-
"ИЊ" => "INJ",
|
87
|
-
"ЊЈ" => "NJJ",
|
88
|
-
"ЈЊ" => "JNJ",
|
89
|
-
"ЊК" => "NJK",
|
90
|
-
"КЊ" => "KNJ",
|
91
|
-
"ЊЛ" => "NJL",
|
92
|
-
"ЛЊ" => "LNJ",
|
93
|
-
"ЊМ" => "NJM",
|
94
|
-
"МЊ" => "MNJ",
|
95
|
-
"ЊН" => "NJN",
|
96
|
-
"НЊ" => "NNJ",
|
97
|
-
"ЊЊ" => "NJNJ",
|
98
|
-
"ЊО" => "NJO",
|
99
|
-
"ОЊ" => "ONJ",
|
100
|
-
"ЊП" => "NJP",
|
101
|
-
"ПЊ" => "PNJ",
|
102
|
-
"ЊР" => "NJR",
|
103
|
-
"РЊ" => "RNJ",
|
104
|
-
"ЊС" => "NJS",
|
105
|
-
"СЊ" => "SNJ",
|
106
|
-
"ЊТ" => "NJT",
|
107
|
-
"ТЊ" => "TNJ",
|
108
|
-
"ЊЋ" => "NJĆ",
|
109
|
-
"ЋЊ" => "ĆNJ",
|
110
|
-
"ЊЦ" => "NJC",
|
111
|
-
"ЦЊ" => "CNJ",
|
112
|
-
"ЊУ" => "NJU",
|
113
|
-
"УЊ" => "UNJ",
|
114
|
-
"ЊФ" => "NJF",
|
115
|
-
"ФЊ" => "FNJ",
|
116
|
-
"ЊХ" => "NJH",
|
117
|
-
"ХЊ" => "HNJ",
|
118
|
-
"ЊЧ" => "NJČ",
|
119
|
-
"ЧЊ" => "ČNJ",
|
120
|
-
"ЊЏ" => "NJDŽ",
|
121
|
-
"ЏЊ" => "DŽNJ",
|
122
|
-
"ЊШ" => "NJŠ",
|
123
|
-
"ШЊ" => "ŠNJ",
|
124
|
-
"ЏА" => "DŽA",
|
125
|
-
"АЏ" => "ADŽ",
|
126
|
-
"ЏБ" => "DŽB",
|
127
|
-
"БЏ" => "BDŽ",
|
128
|
-
"ЏВ" => "DŽV",
|
129
|
-
"ВЏ" => "VDŽ",
|
130
|
-
"ЏГ" => "DŽG",
|
131
|
-
"ГЏ" => "GDŽ",
|
132
|
-
"ЏД" => "DŽD",
|
133
|
-
"ДЏ" => "DDŽ",
|
134
|
-
"ЏЂ" => "DŽĐ",
|
135
|
-
"ЂЏ" => "ĐDŽ",
|
136
|
-
"ЏЕ" => "DŽE",
|
137
|
-
"ЕЏ" => "EDŽ",
|
138
|
-
"ЏЖ" => "DŽŽ",
|
139
|
-
"ЖЏ" => "ŽDŽ",
|
140
|
-
"ЏЗ" => "DŽZ",
|
141
|
-
"ЗЏ" => "ZDŽ",
|
142
|
-
"ЏИ" => "DŽI",
|
143
|
-
"ИЏ" => "IDŽ",
|
144
|
-
"ЏЈ" => "DŽJ",
|
145
|
-
"ЈЏ" => "JDŽ",
|
146
|
-
"ЏК" => "DŽK",
|
147
|
-
"КЏ" => "KDŽ",
|
148
|
-
"ЏЛ" => "DŽL",
|
149
|
-
"ЛЏ" => "LDŽ",
|
150
|
-
"ЏМ" => "DŽM",
|
151
|
-
"МЏ" => "MDŽ",
|
152
|
-
"ЏН" => "DŽN",
|
153
|
-
"НЏ" => "NDŽ",
|
154
|
-
"ЏО" => "DŽO",
|
155
|
-
"ОЏ" => "ODŽ",
|
156
|
-
"ЏП" => "DŽP",
|
157
|
-
"ПЏ" => "PDŽ",
|
158
|
-
"ЏР" => "DŽR",
|
159
|
-
"РЏ" => "RDŽ",
|
160
|
-
"ЏС" => "DŽS",
|
161
|
-
"СЏ" => "SDŽ",
|
162
|
-
"ЏТ" => "DŽT",
|
163
|
-
"ТЏ" => "TDŽ",
|
164
|
-
"ЏЋ" => "DŽĆ",
|
165
|
-
"ЋЏ" => "ĆDŽ",
|
166
|
-
"ЏЦ" => "DŽC",
|
167
|
-
"ЦЏ" => "CDŽ",
|
168
|
-
"ЏУ" => "DŽU",
|
169
|
-
"УЏ" => "UDŽ",
|
170
|
-
"ЏФ" => "DŽF",
|
171
|
-
"ФЏ" => "FDŽ",
|
172
|
-
"ЏХ" => "DŽH",
|
173
|
-
"ХЏ" => "HDŽ",
|
174
|
-
"ЏЧ" => "DŽČ",
|
175
|
-
"ЧЏ" => "ČDŽ",
|
176
|
-
"ЏЏ" => "DŽDŽ",
|
177
|
-
"ЏШ" => "DŽŠ",
|
178
|
-
"ШЏ" => "ŠDŽ",
|
179
|
-
'а' => 'a',
|
180
|
-
'А' => 'A',
|
181
|
-
'б' => 'b',
|
182
|
-
'Б' => 'B',
|
183
|
-
'в' => 'v',
|
184
|
-
'В' => 'V',
|
185
|
-
'г' => 'g',
|
186
|
-
'Г' => 'G',
|
187
|
-
'д' => 'd',
|
188
|
-
'Д' => 'D',
|
189
|
-
'ђ' => 'đ',
|
190
|
-
'Ђ' => 'Đ',
|
191
|
-
'е' => 'e',
|
192
|
-
'Е' => 'E',
|
193
|
-
'ж' => 'ž',
|
194
|
-
'Ж' => 'Ž',
|
195
|
-
'з' => 'z',
|
196
|
-
'З' => 'Z',
|
197
|
-
'и' => 'i',
|
198
|
-
'И' => 'I',
|
199
|
-
'ј' => 'j',
|
200
|
-
'Ј' => 'J',
|
201
|
-
'к' => 'k',
|
202
|
-
'К' => 'K',
|
203
|
-
'л' => 'l',
|
204
|
-
'Л' => 'L',
|
205
|
-
'љ' => 'lj',
|
206
|
-
'Љ' => 'Lj',
|
207
|
-
'м' => 'm',
|
208
|
-
'М' => 'M',
|
209
|
-
'н' => 'n',
|
210
|
-
'Н' => 'N',
|
211
|
-
'њ' => 'nj',
|
212
|
-
'Њ' => 'Nj',
|
213
|
-
'о' => 'o',
|
214
|
-
'О' => 'O',
|
215
|
-
'п' => 'p',
|
216
|
-
'П' => 'P',
|
217
|
-
'р' => 'r',
|
218
|
-
'Р' => 'R',
|
219
|
-
'с' => 's',
|
220
|
-
'С' => 'S',
|
221
|
-
'т' => 't',
|
222
|
-
'Т' => 'T',
|
223
|
-
'ћ' => 'ć',
|
224
|
-
'Ћ' => 'Ć',
|
225
|
-
'ц' => 'c',
|
226
|
-
'Ц' => 'C',
|
227
|
-
'у' => 'u',
|
228
|
-
'У' => 'U',
|
229
|
-
'ф' => 'f',
|
230
|
-
'Ф' => 'F',
|
231
|
-
'х' => 'h',
|
232
|
-
'Х' => 'H',
|
233
|
-
'ч' => 'č',
|
234
|
-
'Ч' => 'Č',
|
235
|
-
'џ' => 'dž',
|
236
|
-
'Џ' => 'Dž',
|
237
|
-
'ш' => 'š',
|
238
|
-
'Ш' => 'Š'
|
239
|
-
}
|
240
|
-
|
241
|
-
LATINICA_ASCII_MAP = {
|
242
|
-
"ЉA" => "LJA",
|
243
|
-
"AЉ" => "ALJ",
|
244
|
-
"ЉB" => "LJB",
|
245
|
-
"BЉ" => "BLJ",
|
246
|
-
"ЉC" => "LJC",
|
247
|
-
"CЉ" => "CLJ",
|
248
|
-
"ЉD" => "LJD",
|
249
|
-
"DЉ" => "DLJ",
|
250
|
-
"ЉE" => "LJE",
|
251
|
-
"EЉ" => "ELJ",
|
252
|
-
"ЉF" => "LJF",
|
253
|
-
"FЉ" => "FLJ",
|
254
|
-
"ЉG" => "LJG",
|
255
|
-
"GЉ" => "GLJ",
|
256
|
-
"ЉH" => "LJH",
|
257
|
-
"HЉ" => "HLJ",
|
258
|
-
"ЉI" => "LJI",
|
259
|
-
"IЉ" => "ILJ",
|
260
|
-
"ЉJ" => "LJJ",
|
261
|
-
"JЉ" => "JLJ",
|
262
|
-
"ЉK" => "LJK",
|
263
|
-
"KЉ" => "KLJ",
|
264
|
-
"ЉL" => "LJL",
|
265
|
-
"LЉ" => "LLJ",
|
266
|
-
"ЉM" => "LJM",
|
267
|
-
"MЉ" => "MLJ",
|
268
|
-
"ЉN" => "LJN",
|
269
|
-
"NЉ" => "NLJ",
|
270
|
-
"ЉO" => "LJO",
|
271
|
-
"OЉ" => "OLJ",
|
272
|
-
"ЉP" => "LJP",
|
273
|
-
"PЉ" => "PLJ",
|
274
|
-
"ЉQ" => "LJQ",
|
275
|
-
"QЉ" => "QLJ",
|
276
|
-
"ЉR" => "LJR",
|
277
|
-
"RЉ" => "RLJ",
|
278
|
-
"ЉS" => "LJS",
|
279
|
-
"SЉ" => "SLJ",
|
280
|
-
"ЉT" => "LJT",
|
281
|
-
"TЉ" => "TLJ",
|
282
|
-
"ЉU" => "LJU",
|
283
|
-
"UЉ" => "ULJ",
|
284
|
-
"ЉV" => "LJV",
|
285
|
-
"VЉ" => "VLJ",
|
286
|
-
"ЉW" => "LJW",
|
287
|
-
"WЉ" => "WLJ",
|
288
|
-
"ЉX" => "LJX",
|
289
|
-
"XЉ" => "XLJ",
|
290
|
-
"ЉА" => "LJA",
|
291
|
-
"АЉ" => "ALJ",
|
292
|
-
"ЉБ" => "LJB",
|
293
|
-
"БЉ" => "BLJ",
|
294
|
-
"ЉВ" => "LJV",
|
295
|
-
"ВЉ" => "VLJ",
|
296
|
-
"ЉГ" => "LJG",
|
297
|
-
"ГЉ" => "GLJ",
|
298
|
-
"ЉД" => "LJD",
|
299
|
-
"ДЉ" => "DLJ",
|
300
|
-
"ЉЂ" => "LJDJ",
|
301
|
-
"ЂЉ" => "DJLJ",
|
302
|
-
"ЉĐ" => "LJDJ",
|
303
|
-
"ĐЉ" => "DJLJ",
|
304
|
-
"ЉЕ" => "LJE",
|
305
|
-
"ЕЉ" => "ELJ",
|
306
|
-
"ЉЖ" => "LJZ",
|
307
|
-
"ЖЉ" => "ZLJ",
|
308
|
-
"ЉŽ" => "LJZ",
|
309
|
-
"ŽЉ" => "ZLJ",
|
310
|
-
"ЉЗ" => "LJZ",
|
311
|
-
"ЗЉ" => "ZLJ",
|
312
|
-
"ЉИ" => "LJI",
|
313
|
-
"ИЉ" => "ILJ",
|
314
|
-
"ЉЈ" => "LJJ",
|
315
|
-
"ЈЉ" => "JLJ",
|
316
|
-
"ЉК" => "LJK",
|
317
|
-
"КЉ" => "KLJ",
|
318
|
-
"ЉЛ" => "LJL",
|
319
|
-
"ЛЉ" => "LLJ",
|
320
|
-
"ЉЉ" => "LJLJ",
|
321
|
-
"ЉМ" => "LJM",
|
322
|
-
"МЉ" => "MLJ",
|
323
|
-
"ЉН" => "LJN",
|
324
|
-
"НЉ" => "NLJ",
|
325
|
-
"ЉЊ" => "LJNJ",
|
326
|
-
"ЊЉ" => "NJLJ",
|
327
|
-
"ЉО" => "LJO",
|
328
|
-
"ОЉ" => "OLJ",
|
329
|
-
"ЉП" => "LJP",
|
330
|
-
"ПЉ" => "PLJ",
|
331
|
-
"ЉР" => "LJR",
|
332
|
-
"РЉ" => "RLJ",
|
333
|
-
"ЉС" => "LJS",
|
334
|
-
"СЉ" => "SLJ",
|
335
|
-
"ЉТ" => "LJT",
|
336
|
-
"ТЉ" => "TLJ",
|
337
|
-
"ЉЋ" => "LJC",
|
338
|
-
"ЋЉ" => "CLJ",
|
339
|
-
"ЉĆ" => "LJC",
|
340
|
-
"ĆЉ" => "CLJ",
|
341
|
-
"ЉЦ" => "LJC",
|
342
|
-
"ЦЉ" => "CLJ",
|
343
|
-
"ЉУ" => "LJU",
|
344
|
-
"УЉ" => "ULJ",
|
345
|
-
"ЉФ" => "LJF",
|
346
|
-
"ФЉ" => "FLJ",
|
347
|
-
"ЉХ" => "LJH",
|
348
|
-
"ХЉ" => "HLJ",
|
349
|
-
"ЉЧ" => "LJC",
|
350
|
-
"ЧЉ" => "CLJ",
|
351
|
-
"ЉČ" => "LJC",
|
352
|
-
"ČЉ" => "CLJ",
|
353
|
-
"ЉЏ" => "LJDZ",
|
354
|
-
"ЏЉ" => "DZLJ",
|
355
|
-
"ЉШ" => "LJS",
|
356
|
-
"ШЉ" => "SLJ",
|
357
|
-
"ЉŠ" => "LJS",
|
358
|
-
"ŠЉ" => "SLJ",
|
359
|
-
"ЊA" => "NJA",
|
360
|
-
"AЊ" => "ANJ",
|
361
|
-
"ЊB" => "NJB",
|
362
|
-
"BЊ" => "BNJ",
|
363
|
-
"ЊC" => "NJC",
|
364
|
-
"CЊ" => "CNJ",
|
365
|
-
"ЊD" => "NJD",
|
366
|
-
"DЊ" => "DNJ",
|
367
|
-
"ЊE" => "NJE",
|
368
|
-
"EЊ" => "ENJ",
|
369
|
-
"ЊF" => "NJF",
|
370
|
-
"FЊ" => "FNJ",
|
371
|
-
"ЊG" => "NJG",
|
372
|
-
"GЊ" => "GNJ",
|
373
|
-
"ЊH" => "NJH",
|
374
|
-
"HЊ" => "HNJ",
|
375
|
-
"ЊI" => "NJI",
|
376
|
-
"IЊ" => "INJ",
|
377
|
-
"ЊJ" => "NJJ",
|
378
|
-
"JЊ" => "JNJ",
|
379
|
-
"ЊK" => "NJK",
|
380
|
-
"KЊ" => "KNJ",
|
381
|
-
"ЊL" => "NJL",
|
382
|
-
"LЊ" => "LNJ",
|
383
|
-
"ЊM" => "NJM",
|
384
|
-
"MЊ" => "MNJ",
|
385
|
-
"ЊN" => "NJN",
|
386
|
-
"NЊ" => "NNJ",
|
387
|
-
"ЊO" => "NJO",
|
388
|
-
"OЊ" => "ONJ",
|
389
|
-
"ЊP" => "NJP",
|
390
|
-
"PЊ" => "PNJ",
|
391
|
-
"ЊQ" => "NJQ",
|
392
|
-
"QЊ" => "QNJ",
|
393
|
-
"ЊR" => "NJR",
|
394
|
-
"RЊ" => "RNJ",
|
395
|
-
"ЊS" => "NJS",
|
396
|
-
"SЊ" => "SNJ",
|
397
|
-
"ЊT" => "NJT",
|
398
|
-
"TЊ" => "TNJ",
|
399
|
-
"ЊU" => "NJU",
|
400
|
-
"UЊ" => "UNJ",
|
401
|
-
"ЊV" => "NJV",
|
402
|
-
"VЊ" => "VNJ",
|
403
|
-
"ЊW" => "NJW",
|
404
|
-
"WЊ" => "WNJ",
|
405
|
-
"ЊX" => "NJX",
|
406
|
-
"XЊ" => "XNJ",
|
407
|
-
"ЊА" => "NJA",
|
408
|
-
"АЊ" => "ANJ",
|
409
|
-
"ЊБ" => "NJB",
|
410
|
-
"БЊ" => "BNJ",
|
411
|
-
"ЊВ" => "NJV",
|
412
|
-
"ВЊ" => "VNJ",
|
413
|
-
"ЊГ" => "NJG",
|
414
|
-
"ГЊ" => "GNJ",
|
415
|
-
"ЊД" => "NJD",
|
416
|
-
"ДЊ" => "DNJ",
|
417
|
-
"ЊЂ" => "NJDJ",
|
418
|
-
"ЂЊ" => "DJNJ",
|
419
|
-
"ЊĐ" => "NJDJ",
|
420
|
-
"ĐЊ" => "DJNJ",
|
421
|
-
"ЊЕ" => "NJE",
|
422
|
-
"ЕЊ" => "ENJ",
|
423
|
-
"ЊЖ" => "NJZ",
|
424
|
-
"ЖЊ" => "ZNJ",
|
425
|
-
"ЊŽ" => "NJZ",
|
426
|
-
"ŽЊ" => "ZNJ",
|
427
|
-
"ЊЗ" => "NJZ",
|
428
|
-
"ЗЊ" => "ZNJ",
|
429
|
-
"ЊИ" => "NJI",
|
430
|
-
"ИЊ" => "INJ",
|
431
|
-
"ЊЈ" => "NJJ",
|
432
|
-
"ЈЊ" => "JNJ",
|
433
|
-
"ЊК" => "NJK",
|
434
|
-
"КЊ" => "KNJ",
|
435
|
-
"ЊЛ" => "NJL",
|
436
|
-
"ЛЊ" => "LNJ",
|
437
|
-
"ЊМ" => "NJM",
|
438
|
-
"МЊ" => "MNJ",
|
439
|
-
"ЊН" => "NJN",
|
440
|
-
"НЊ" => "NNJ",
|
441
|
-
"ЊЊ" => "NJNJ",
|
442
|
-
"ЊО" => "NJO",
|
443
|
-
"ОЊ" => "ONJ",
|
444
|
-
"ЊП" => "NJP",
|
445
|
-
"ПЊ" => "PNJ",
|
446
|
-
"ЊР" => "NJR",
|
447
|
-
"РЊ" => "RNJ",
|
448
|
-
"ЊС" => "NJS",
|
449
|
-
"СЊ" => "SNJ",
|
450
|
-
"ЊТ" => "NJT",
|
451
|
-
"ТЊ" => "TNJ",
|
452
|
-
"ЊЋ" => "NJC",
|
453
|
-
"ЋЊ" => "CNJ",
|
454
|
-
"ЊĆ" => "NJC",
|
455
|
-
"ĆЊ" => "CNJ",
|
456
|
-
"ЊЦ" => "NJC",
|
457
|
-
"ЦЊ" => "CNJ",
|
458
|
-
"ЊУ" => "NJU",
|
459
|
-
"УЊ" => "UNJ",
|
460
|
-
"ЊФ" => "NJF",
|
461
|
-
"ФЊ" => "FNJ",
|
462
|
-
"ЊХ" => "NJH",
|
463
|
-
"ХЊ" => "HNJ",
|
464
|
-
"ЊЧ" => "NJC",
|
465
|
-
"ЧЊ" => "CNJ",
|
466
|
-
"ЊČ" => "NJC",
|
467
|
-
"ČЊ" => "CNJ",
|
468
|
-
"ЊЏ" => "NJDZ",
|
469
|
-
"ЏЊ" => "DZNJ",
|
470
|
-
"ЊШ" => "NJS",
|
471
|
-
"ШЊ" => "SNJ",
|
472
|
-
"ЊŠ" => "NJS",
|
473
|
-
"ŠЊ" => "SNJ",
|
474
|
-
"ЏA" => "DZA",
|
475
|
-
"AЏ" => "ADZ",
|
476
|
-
"ЏB" => "DZB",
|
477
|
-
"BЏ" => "BDZ",
|
478
|
-
"ЏC" => "DZC",
|
479
|
-
"CЏ" => "CDZ",
|
480
|
-
"ЏD" => "DZD",
|
481
|
-
"DЏ" => "DDZ",
|
482
|
-
"ЏE" => "DZE",
|
483
|
-
"EЏ" => "EDZ",
|
484
|
-
"ЏF" => "DZF",
|
485
|
-
"FЏ" => "FDZ",
|
486
|
-
"ЏG" => "DZG",
|
487
|
-
"GЏ" => "GDZ",
|
488
|
-
"ЏH" => "DZH",
|
489
|
-
"HЏ" => "HDZ",
|
490
|
-
"ЏI" => "DZI",
|
491
|
-
"IЏ" => "IDZ",
|
492
|
-
"ЏJ" => "DZJ",
|
493
|
-
"JЏ" => "JDZ",
|
494
|
-
"ЏK" => "DZK",
|
495
|
-
"KЏ" => "KDZ",
|
496
|
-
"ЏL" => "DZL",
|
497
|
-
"LЏ" => "LDZ",
|
498
|
-
"ЏM" => "DZM",
|
499
|
-
"MЏ" => "MDZ",
|
500
|
-
"ЏN" => "DZN",
|
501
|
-
"NЏ" => "NDZ",
|
502
|
-
"ЏO" => "DZO",
|
503
|
-
"OЏ" => "ODZ",
|
504
|
-
"ЏP" => "DZP",
|
505
|
-
"PЏ" => "PDZ",
|
506
|
-
"ЏQ" => "DZQ",
|
507
|
-
"QЏ" => "QDZ",
|
508
|
-
"ЏR" => "DZR",
|
509
|
-
"RЏ" => "RDZ",
|
510
|
-
"ЏS" => "DZS",
|
511
|
-
"SЏ" => "SDZ",
|
512
|
-
"ЏT" => "DZT",
|
513
|
-
"TЏ" => "TDZ",
|
514
|
-
"ЏU" => "DZU",
|
515
|
-
"UЏ" => "UDZ",
|
516
|
-
"ЏV" => "DZV",
|
517
|
-
"VЏ" => "VDZ",
|
518
|
-
"ЏW" => "DZW",
|
519
|
-
"WЏ" => "WDZ",
|
520
|
-
"ЏX" => "DZX",
|
521
|
-
"XЏ" => "XDZ",
|
522
|
-
"ЏА" => "DZA",
|
523
|
-
"АЏ" => "ADZ",
|
524
|
-
"ЏБ" => "DZB",
|
525
|
-
"БЏ" => "BDZ",
|
526
|
-
"ЏВ" => "DZV",
|
527
|
-
"ВЏ" => "VDZ",
|
528
|
-
"ЏГ" => "DZG",
|
529
|
-
"ГЏ" => "GDZ",
|
530
|
-
"ЏД" => "DZD",
|
531
|
-
"ДЏ" => "DDZ",
|
532
|
-
"ЏЂ" => "DZDJ",
|
533
|
-
"ЂЏ" => "DJDZ",
|
534
|
-
"ЏĐ" => "DZDJ",
|
535
|
-
"ĐЏ" => "DJDZ",
|
536
|
-
"ЏЕ" => "DZE",
|
537
|
-
"ЕЏ" => "EDZ",
|
538
|
-
"ЏЖ" => "DZZ",
|
539
|
-
"ЖЏ" => "ZDZ",
|
540
|
-
"ЏŽ" => "DZZ",
|
541
|
-
"ŽЏ" => "ZDZ",
|
542
|
-
"ЏЗ" => "DZZ",
|
543
|
-
"ЗЏ" => "ZDZ",
|
544
|
-
"ЏИ" => "DZI",
|
545
|
-
"ИЏ" => "IDZ",
|
546
|
-
"ЏЈ" => "DZJ",
|
547
|
-
"ЈЏ" => "JDZ",
|
548
|
-
"ЏК" => "DZK",
|
549
|
-
"КЏ" => "KDZ",
|
550
|
-
"ЏЛ" => "DZL",
|
551
|
-
"ЛЏ" => "LDZ",
|
552
|
-
"ЏМ" => "DZM",
|
553
|
-
"МЏ" => "MDZ",
|
554
|
-
"ЏН" => "DZN",
|
555
|
-
"НЏ" => "NDZ",
|
556
|
-
"ЏО" => "DZO",
|
557
|
-
"ОЏ" => "ODZ",
|
558
|
-
"ЏП" => "DZP",
|
559
|
-
"ПЏ" => "PDZ",
|
560
|
-
"ЏР" => "DZR",
|
561
|
-
"РЏ" => "RDZ",
|
562
|
-
"ЏС" => "DZS",
|
563
|
-
"СЏ" => "SDZ",
|
564
|
-
"ЏТ" => "DZT",
|
565
|
-
"ТЏ" => "TDZ",
|
566
|
-
"ЏЋ" => "DZC",
|
567
|
-
"ЋЏ" => "CDZ",
|
568
|
-
"ЏĆ" => "DZC",
|
569
|
-
"ĆЏ" => "CDZ",
|
570
|
-
"ЏЦ" => "DZC",
|
571
|
-
"ЦЏ" => "CDZ",
|
572
|
-
"ЏУ" => "DZU",
|
573
|
-
"УЏ" => "UDZ",
|
574
|
-
"ЏФ" => "DZF",
|
575
|
-
"ФЏ" => "FDZ",
|
576
|
-
"ЏХ" => "DZH",
|
577
|
-
"ХЏ" => "HDZ",
|
578
|
-
"ЏЧ" => "DZC",
|
579
|
-
"ЧЏ" => "CDZ",
|
580
|
-
"ЏČ" => "DZC",
|
581
|
-
"ČЏ" => "CDZ",
|
582
|
-
"ЏЏ" => "DZDZ",
|
583
|
-
"ЏШ" => "DZS",
|
584
|
-
"ШЏ" => "SDZ",
|
585
|
-
"ЏŠ" => "DZS",
|
586
|
-
"ŠЏ" => "SDZ",
|
587
|
-
"ЂA" => "DJA",
|
588
|
-
"AЂ" => "ADJ",
|
589
|
-
"ЂB" => "DJB",
|
590
|
-
"BЂ" => "BDJ",
|
591
|
-
"ЂC" => "DJC",
|
592
|
-
"CЂ" => "CDJ",
|
593
|
-
"ЂD" => "DJD",
|
594
|
-
"DЂ" => "DDJ",
|
595
|
-
"ЂE" => "DJE",
|
596
|
-
"EЂ" => "EDJ",
|
597
|
-
"ЂF" => "DJF",
|
598
|
-
"FЂ" => "FDJ",
|
599
|
-
"ЂG" => "DJG",
|
600
|
-
"GЂ" => "GDJ",
|
601
|
-
"ЂH" => "DJH",
|
602
|
-
"HЂ" => "HDJ",
|
603
|
-
"ЂI" => "DJI",
|
604
|
-
"IЂ" => "IDJ",
|
605
|
-
"ЂJ" => "DJJ",
|
606
|
-
"JЂ" => "JDJ",
|
607
|
-
"ЂK" => "DJK",
|
608
|
-
"KЂ" => "KDJ",
|
609
|
-
"ЂL" => "DJL",
|
610
|
-
"LЂ" => "LDJ",
|
611
|
-
"ЂM" => "DJM",
|
612
|
-
"MЂ" => "MDJ",
|
613
|
-
"ЂN" => "DJN",
|
614
|
-
"NЂ" => "NDJ",
|
615
|
-
"ЂO" => "DJO",
|
616
|
-
"OЂ" => "ODJ",
|
617
|
-
"ЂP" => "DJP",
|
618
|
-
"PЂ" => "PDJ",
|
619
|
-
"ЂQ" => "DJQ",
|
620
|
-
"QЂ" => "QDJ",
|
621
|
-
"ЂR" => "DJR",
|
622
|
-
"RЂ" => "RDJ",
|
623
|
-
"ЂS" => "DJS",
|
624
|
-
"SЂ" => "SDJ",
|
625
|
-
"ЂT" => "DJT",
|
626
|
-
"TЂ" => "TDJ",
|
627
|
-
"ЂU" => "DJU",
|
628
|
-
"UЂ" => "UDJ",
|
629
|
-
"ЂV" => "DJV",
|
630
|
-
"VЂ" => "VDJ",
|
631
|
-
"ЂW" => "DJW",
|
632
|
-
"WЂ" => "WDJ",
|
633
|
-
"ЂX" => "DJX",
|
634
|
-
"XЂ" => "XDJ",
|
635
|
-
"ЂА" => "DJA",
|
636
|
-
"АЂ" => "ADJ",
|
637
|
-
"ЂБ" => "DJB",
|
638
|
-
"БЂ" => "BDJ",
|
639
|
-
"ЂВ" => "DJV",
|
640
|
-
"ВЂ" => "VDJ",
|
641
|
-
"ЂГ" => "DJG",
|
642
|
-
"ГЂ" => "GDJ",
|
643
|
-
"ЂД" => "DJD",
|
644
|
-
"ДЂ" => "DDJ",
|
645
|
-
"ЂЂ" => "DJDJ",
|
646
|
-
"ЂĐ" => "DJDJ",
|
647
|
-
"ĐЂ" => "DJDJ",
|
648
|
-
"ЂЕ" => "DJE",
|
649
|
-
"ЕЂ" => "EDJ",
|
650
|
-
"ЂЖ" => "DJZ",
|
651
|
-
"ЖЂ" => "ZDJ",
|
652
|
-
"ЂŽ" => "DJZ",
|
653
|
-
"ŽЂ" => "ZDJ",
|
654
|
-
"ЂЗ" => "DJZ",
|
655
|
-
"ЗЂ" => "ZDJ",
|
656
|
-
"ЂИ" => "DJI",
|
657
|
-
"ИЂ" => "IDJ",
|
658
|
-
"ЂЈ" => "DJJ",
|
659
|
-
"ЈЂ" => "JDJ",
|
660
|
-
"ЂК" => "DJK",
|
661
|
-
"КЂ" => "KDJ",
|
662
|
-
"ЂЛ" => "DJL",
|
663
|
-
"ЛЂ" => "LDJ",
|
664
|
-
"ЂМ" => "DJM",
|
665
|
-
"МЂ" => "MDJ",
|
666
|
-
"ЂН" => "DJN",
|
667
|
-
"НЂ" => "NDJ",
|
668
|
-
"ЂО" => "DJO",
|
669
|
-
"ОЂ" => "ODJ",
|
670
|
-
"ЂП" => "DJP",
|
671
|
-
"ПЂ" => "PDJ",
|
672
|
-
"ЂР" => "DJR",
|
673
|
-
"РЂ" => "RDJ",
|
674
|
-
"ЂС" => "DJS",
|
675
|
-
"СЂ" => "SDJ",
|
676
|
-
"ЂТ" => "DJT",
|
677
|
-
"ТЂ" => "TDJ",
|
678
|
-
"ЂЋ" => "DJC",
|
679
|
-
"ЋЂ" => "CDJ",
|
680
|
-
"ЂĆ" => "DJC",
|
681
|
-
"ĆЂ" => "CDJ",
|
682
|
-
"ЂЦ" => "DJC",
|
683
|
-
"ЦЂ" => "CDJ",
|
684
|
-
"ЂУ" => "DJU",
|
685
|
-
"УЂ" => "UDJ",
|
686
|
-
"ЂФ" => "DJF",
|
687
|
-
"ФЂ" => "FDJ",
|
688
|
-
"ЂХ" => "DJH",
|
689
|
-
"ХЂ" => "HDJ",
|
690
|
-
"ЂЧ" => "DJC",
|
691
|
-
"ЧЂ" => "CDJ",
|
692
|
-
"ЂČ" => "DJC",
|
693
|
-
"ČЂ" => "CDJ",
|
694
|
-
"ЂШ" => "DJS",
|
695
|
-
"ШЂ" => "SDJ",
|
696
|
-
"ЂŠ" => "DJS",
|
697
|
-
"ŠЂ" => "SDJ",
|
698
|
-
"ĐA" => "DJA",
|
699
|
-
"AĐ" => "ADJ",
|
700
|
-
"ĐB" => "DJB",
|
701
|
-
"BĐ" => "BDJ",
|
702
|
-
"ĐC" => "DJC",
|
703
|
-
"CĐ" => "CDJ",
|
704
|
-
"ĐD" => "DJD",
|
705
|
-
"DĐ" => "DDJ",
|
706
|
-
"ĐE" => "DJE",
|
707
|
-
"EĐ" => "EDJ",
|
708
|
-
"ĐF" => "DJF",
|
709
|
-
"FĐ" => "FDJ",
|
710
|
-
"ĐG" => "DJG",
|
711
|
-
"GĐ" => "GDJ",
|
712
|
-
"ĐH" => "DJH",
|
713
|
-
"HĐ" => "HDJ",
|
714
|
-
"ĐI" => "DJI",
|
715
|
-
"IĐ" => "IDJ",
|
716
|
-
"ĐJ" => "DJJ",
|
717
|
-
"JĐ" => "JDJ",
|
718
|
-
"ĐK" => "DJK",
|
719
|
-
"KĐ" => "KDJ",
|
720
|
-
"ĐL" => "DJL",
|
721
|
-
"LĐ" => "LDJ",
|
722
|
-
"ĐM" => "DJM",
|
723
|
-
"MĐ" => "MDJ",
|
724
|
-
"ĐN" => "DJN",
|
725
|
-
"NĐ" => "NDJ",
|
726
|
-
"ĐO" => "DJO",
|
727
|
-
"OĐ" => "ODJ",
|
728
|
-
"ĐP" => "DJP",
|
729
|
-
"PĐ" => "PDJ",
|
730
|
-
"ĐQ" => "DJQ",
|
731
|
-
"QĐ" => "QDJ",
|
732
|
-
"ĐR" => "DJR",
|
733
|
-
"RĐ" => "RDJ",
|
734
|
-
"ĐS" => "DJS",
|
735
|
-
"SĐ" => "SDJ",
|
736
|
-
"ĐT" => "DJT",
|
737
|
-
"TĐ" => "TDJ",
|
738
|
-
"ĐU" => "DJU",
|
739
|
-
"UĐ" => "UDJ",
|
740
|
-
"ĐV" => "DJV",
|
741
|
-
"VĐ" => "VDJ",
|
742
|
-
"ĐW" => "DJW",
|
743
|
-
"WĐ" => "WDJ",
|
744
|
-
"ĐX" => "DJX",
|
745
|
-
"XĐ" => "XDJ",
|
746
|
-
"ĐА" => "DJA",
|
747
|
-
"АĐ" => "ADJ",
|
748
|
-
"ĐБ" => "DJB",
|
749
|
-
"БĐ" => "BDJ",
|
750
|
-
"ĐВ" => "DJV",
|
751
|
-
"ВĐ" => "VDJ",
|
752
|
-
"ĐГ" => "DJG",
|
753
|
-
"ГĐ" => "GDJ",
|
754
|
-
"ĐД" => "DJD",
|
755
|
-
"ДĐ" => "DDJ",
|
756
|
-
"ĐĐ" => "DJDJ",
|
757
|
-
"ĐЕ" => "DJE",
|
758
|
-
"ЕĐ" => "EDJ",
|
759
|
-
"ĐЖ" => "DJZ",
|
760
|
-
"ЖĐ" => "ZDJ",
|
761
|
-
"ĐŽ" => "DJZ",
|
762
|
-
"ŽĐ" => "ZDJ",
|
763
|
-
"ĐЗ" => "DJZ",
|
764
|
-
"ЗĐ" => "ZDJ",
|
765
|
-
"ĐИ" => "DJI",
|
766
|
-
"ИĐ" => "IDJ",
|
767
|
-
"ĐЈ" => "DJJ",
|
768
|
-
"ЈĐ" => "JDJ",
|
769
|
-
"ĐК" => "DJK",
|
770
|
-
"КĐ" => "KDJ",
|
771
|
-
"ĐЛ" => "DJL",
|
772
|
-
"ЛĐ" => "LDJ",
|
773
|
-
"ĐМ" => "DJM",
|
774
|
-
"МĐ" => "MDJ",
|
775
|
-
"ĐН" => "DJN",
|
776
|
-
"НĐ" => "NDJ",
|
777
|
-
"ĐО" => "DJO",
|
778
|
-
"ОĐ" => "ODJ",
|
779
|
-
"ĐП" => "DJP",
|
780
|
-
"ПĐ" => "PDJ",
|
781
|
-
"ĐР" => "DJR",
|
782
|
-
"РĐ" => "RDJ",
|
783
|
-
"ĐС" => "DJS",
|
784
|
-
"СĐ" => "SDJ",
|
785
|
-
"ĐТ" => "DJT",
|
786
|
-
"ТĐ" => "TDJ",
|
787
|
-
"ĐЋ" => "DJC",
|
788
|
-
"ЋĐ" => "CDJ",
|
789
|
-
"ĐĆ" => "DJC",
|
790
|
-
"ĆĐ" => "CDJ",
|
791
|
-
"ĐЦ" => "DJC",
|
792
|
-
"ЦĐ" => "CDJ",
|
793
|
-
"ĐУ" => "DJU",
|
794
|
-
"УĐ" => "UDJ",
|
795
|
-
"ĐФ" => "DJF",
|
796
|
-
"ФĐ" => "FDJ",
|
797
|
-
"ĐХ" => "DJH",
|
798
|
-
"ХĐ" => "HDJ",
|
799
|
-
"ĐЧ" => "DJC",
|
800
|
-
"ЧĐ" => "CDJ",
|
801
|
-
"ĐČ" => "DJC",
|
802
|
-
"ČĐ" => "CDJ",
|
803
|
-
"ĐШ" => "DJS",
|
804
|
-
"ШĐ" => "SDJ",
|
805
|
-
"ĐŠ" => "DJS",
|
806
|
-
"ŠĐ" => "SDJ",
|
807
|
-
"A" => "A",
|
808
|
-
"B" => "B",
|
809
|
-
"C" => "C",
|
810
|
-
"D" => "D",
|
811
|
-
"E" => "E",
|
812
|
-
"F" => "F",
|
813
|
-
"G" => "G",
|
814
|
-
"H" => "H",
|
815
|
-
"I" => "I",
|
816
|
-
"J" => "J",
|
817
|
-
"K" => "K",
|
818
|
-
"L" => "L",
|
819
|
-
"M" => "M",
|
820
|
-
"N" => "N",
|
821
|
-
"O" => "O",
|
822
|
-
"P" => "P",
|
823
|
-
"Q" => "Q",
|
824
|
-
"R" => "R",
|
825
|
-
"S" => "S",
|
826
|
-
"T" => "T",
|
827
|
-
"U" => "U",
|
828
|
-
"V" => "V",
|
829
|
-
"W" => "W",
|
830
|
-
"X" => "X",
|
831
|
-
"А" => "A",
|
832
|
-
"Б" => "B",
|
833
|
-
"В" => "V",
|
834
|
-
"Г" => "G",
|
835
|
-
"Д" => "D",
|
836
|
-
"Ђ" => "Dj",
|
837
|
-
"Đ" => "Dj",
|
838
|
-
"Е" => "E",
|
839
|
-
"Ж" => "Z",
|
840
|
-
"Ž" => "Z",
|
841
|
-
"З" => "Z",
|
842
|
-
"И" => "I",
|
843
|
-
"Ј" => "J",
|
844
|
-
"К" => "K",
|
845
|
-
"Л" => "L",
|
846
|
-
"Љ" => "Lj",
|
847
|
-
"М" => "M",
|
848
|
-
"Н" => "N",
|
849
|
-
"Њ" => "Nj",
|
850
|
-
"О" => "O",
|
851
|
-
"П" => "P",
|
852
|
-
"Р" => "R",
|
853
|
-
"С" => "S",
|
854
|
-
"Т" => "T",
|
855
|
-
"Ћ" => "C",
|
856
|
-
"Ć" => "C",
|
857
|
-
"Ц" => "C",
|
858
|
-
"У" => "U",
|
859
|
-
"Ф" => "F",
|
860
|
-
"Х" => "H",
|
861
|
-
"Ч" => "C",
|
862
|
-
"Č" => "C",
|
863
|
-
"Џ" => "Dz",
|
864
|
-
"Ш" => "S",
|
865
|
-
"Š" => "S",
|
866
|
-
"a" => "a",
|
867
|
-
"b" => "b",
|
868
|
-
"c" => "c",
|
869
|
-
"d" => "d",
|
870
|
-
"e" => "e",
|
871
|
-
"f" => "f",
|
872
|
-
"g" => "g",
|
873
|
-
"h" => "h",
|
874
|
-
"i" => "i",
|
875
|
-
"j" => "j",
|
876
|
-
"k" => "k",
|
877
|
-
"l" => "l",
|
878
|
-
"m" => "m",
|
879
|
-
"n" => "n",
|
880
|
-
"o" => "o",
|
881
|
-
"p" => "p",
|
882
|
-
"q" => "q",
|
883
|
-
"r" => "r",
|
884
|
-
"s" => "s",
|
885
|
-
"t" => "t",
|
886
|
-
"u" => "u",
|
887
|
-
"v" => "v",
|
888
|
-
"w" => "w",
|
889
|
-
"x" => "x",
|
890
|
-
"а" => "a",
|
891
|
-
"б" => "b",
|
892
|
-
"в" => "v",
|
893
|
-
"г" => "g",
|
894
|
-
"д" => "d",
|
895
|
-
"ђ" => "dj",
|
896
|
-
"đ" => "dj",
|
897
|
-
"е" => "e",
|
898
|
-
"ж" => "z",
|
899
|
-
"ž" => "z",
|
900
|
-
"з" => "z",
|
901
|
-
"и" => "i",
|
902
|
-
"ј" => "j",
|
903
|
-
"к" => "k",
|
904
|
-
"л" => "l",
|
905
|
-
"љ" => "lj",
|
906
|
-
"м" => "m",
|
907
|
-
"н" => "n",
|
908
|
-
"њ" => "nj",
|
909
|
-
"о" => "o",
|
910
|
-
"п" => "p",
|
911
|
-
"р" => "r",
|
912
|
-
"с" => "s",
|
913
|
-
"т" => "t",
|
914
|
-
"ћ" => "c",
|
915
|
-
"ć" => "c",
|
916
|
-
"ц" => "c",
|
917
|
-
"у" => "u",
|
918
|
-
"ф" => "f",
|
919
|
-
"х" => "h",
|
920
|
-
"ч" => "c",
|
921
|
-
"č" => "c",
|
922
|
-
"џ" => "dz",
|
923
|
-
"ш" => "s",
|
924
|
-
"š" => "s",
|
925
|
-
}
|
926
|
-
|
927
|
-
LATINICOM_REGEXP = Regexp.union(LATINICA_FULL_MAP.keys)
|
928
|
-
|
929
|
-
LATINICA_ASCII_REGEXP = Regexp.union(LATINICA_ASCII_MAP.keys)
|
930
|
-
|
931
6
|
def latinicom(text)
|
932
|
-
text.
|
7
|
+
Preslovi.latinicom(text).force_encoding('utf-8').encode
|
933
8
|
end
|
934
9
|
|
935
10
|
def latinicom_ascii(text)
|
936
|
-
text.
|
11
|
+
Preslovi.latinicom_ascii(text).force_encoding('utf-8').encode
|
937
12
|
end
|
938
13
|
|
939
14
|
def abeceda
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: srbovanje
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dejan Simic
|
@@ -9,17 +9,43 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2020-08-30 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
13
|
-
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ffi
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.13'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.13.1
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.13'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.13.1
|
33
|
+
description: Transliteracija ćirilice na latinicu i tzv. "ošišanu" (ASCII) latinicu.
|
14
34
|
email: desimic@gmail.com
|
15
35
|
executables: []
|
16
36
|
extensions: []
|
17
37
|
extra_rdoc_files: []
|
18
38
|
files:
|
19
39
|
- CHANGELOG.md
|
40
|
+
- LICENSE
|
20
41
|
- README.md
|
42
|
+
- ext/lib/preslovi.x86_64-darwin.h
|
43
|
+
- ext/lib/preslovi.x86_64-darwin.so
|
44
|
+
- ext/lib/preslovi.x86_64-linux.h
|
45
|
+
- ext/lib/preslovi.x86_64-linux.so
|
21
46
|
- lib/i18n_config.rb
|
22
47
|
- lib/srbovanje.rb
|
48
|
+
- lib/srbovanje/preslovi.rb
|
23
49
|
- lib/srbovanje/railtie.rb
|
24
50
|
- lib/srbovanje/srbovanje.rb
|
25
51
|
- lib/srbovanje/string_ext.rb
|
@@ -45,5 +71,5 @@ requirements: []
|
|
45
71
|
rubygems_version: 3.1.2
|
46
72
|
signing_key:
|
47
73
|
specification_version: 4
|
48
|
-
summary: Transliteracija ćirilice na latinicu i tzv. ASCII latinicu.
|
74
|
+
summary: Transliteracija ćirilice na latinicu i tzv. "ošišanu" (ASCII) latinicu.
|
49
75
|
test_files: []
|