mmunicode_rails 0.4.7 → 0.4.8

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
  SHA1:
3
- metadata.gz: bf1bfbb70dd38a98af2cafe7093a69cf2ce07a52
4
- data.tar.gz: b809d60d23d254372dc177d16dc04f05368df341
3
+ metadata.gz: 0f63f6bad7de2966e4cc582daaea8ee683e46436
4
+ data.tar.gz: 4896c17a252291ea82b3885b9cbe74bc66b5016e
5
5
  SHA512:
6
- metadata.gz: bbc6ade9034b5379484a899253b8a1fba8bfe61238c761cfab778c55615728a9509798060339041a9617963b10401157596552ae64029fe79c98bdc07c393377
7
- data.tar.gz: f430fa1512673d51fefbc4abc906ccc6bcec2b88c9ffa698f107cf332f5178835c2f987b97268b7ff14f63d28b761f6e03d78321d8b96e5bea1809fe6b1381c3
6
+ metadata.gz: 1fd9b0756370ef40bdee642ec5e918c56e645a82f1a4559c8a49b9bd491d5118053bb0de08af1465c3388d520b57c112cb89a07315c68e19fba43ebe0cf5444c
7
+ data.tar.gz: 80461e2cb3272b72fae364d9fe96a2026f6c69db67980d171f21abf6139f9463b3a46564cd2718687228a0e959e7f70ef52295ebaa0ec441f8dc54b938fe8b50
data/.travis.yml ADDED
@@ -0,0 +1,15 @@
1
+ language: ruby
2
+ script: "rake"
3
+ rvm:
4
+ - 1.9.3
5
+ - 2.0.0
6
+ - 2.1.0
7
+ - 2.2.0
8
+ gemfile:
9
+ - Gemfile
10
+ notifications:
11
+ recipients:
12
+ - dreamingblackcat10@gmail.com
13
+ branches:
14
+ only:
15
+ - master
data/README.md CHANGED
@@ -1,3 +1,4 @@
1
+ [![Build Status](https://travis-ci.org/dreamingblackcat/mmunicode_rails.svg?branch=master)](https://travis-ci.org/dreamingblackcat/mmunicode_rails) [![Gem Version](https://badge.fury.io/rb/mmunicode_rails.svg)](http://badge.fury.io/rb/mmunicode_rails) ![](http://ruby-gem-downloads-badge.herokuapp.com/mmunicode_rails?type=total)
1
2
  # mmunicode-rails
2
3
 
3
4
  The gem aims for Myanmar language users who suffered in a never Ending war between Zawgyi and Unicode fonts for Myanmar language.
@@ -3,193 +3,193 @@ require 'rack'
3
3
 
4
4
  module MmunicodeRails
5
5
  module Core
6
- def uni512zg1(input_text)
7
- return input_text unless detect_font(input_text) == :uni
8
- output_text = input_text
9
- output_text = output_text.gsub(/\u104e\u1004\u103a\u1038/ ,"\u104e")
10
- output_text = output_text.gsub(/\u102b\u103a/ ,"\u105a")
11
- output_text = output_text.gsub(/\u102d\u1036/ ,"\u108e")
12
- output_text = output_text.gsub(/\u103f/ ,"\u1086")
13
- output_text = output_text.gsub(/(?<=\u102f)\u1037/ ,"\u1094")
14
- output_text = output_text.gsub(/(?<=\u102f\u1036)\u1037/ ,"\u1094")
15
- output_text = output_text.gsub(/(?<=\u1030)\u1037/ ,"\u1094")
16
- output_text = output_text.gsub(/(?<=\u1030\u1036)\u1037/ ,"\u1094")
17
- output_text = output_text.gsub(/(?<=\u1014)\u1037/ ,"\u1094")
18
- output_text = output_text.gsub(/(?<=\u1014[\u103a\u1032])\u1037/ ,"\u1094")
19
- output_text = output_text.gsub(/(?<=\u103b)\u1037/ ,"\u1095")
20
- output_text = output_text.gsub(/(?<=\u103b[\u1032\u1036])\u1037/ ,"\u1095")
21
- output_text = output_text.gsub(/(?<=\u103d)\u1037/ ,"\u1095")
22
- output_text = output_text.gsub(/(?<=\u103d[\u1032])\u1037/ ,"\u1095")
23
- output_text = output_text.gsub(/(?<=[\u103b\u103c\u103d])\u102f/ ,"\u1033")
24
- output_text = output_text.gsub(/(?<=[\u103b\u103c\u103d][\u102d\u1036])\u102f/ ,"\u1033")
25
- output_text = output_text.gsub(/(?<=(\u1039[\u1000-\u1021]))\u102f/ ,"\u1033")
26
- output_text = output_text.gsub(/(?<=(\u1039[\u1000-\u1021])[\u102d\u1036])\u102f/ ,"\u1033")
27
- output_text = output_text.gsub(/(?<=[\u100a\u100c\u1020\u1025\u1029])\u102f/ ,"\u1033")
28
- output_text = output_text.gsub(/(?<=[\u100a\u100c\u1020\u1025\u1029][\u102d\u1036])\u102f/ ,"\u1033")
29
- output_text = output_text.gsub(/(?<=[\u103b\u103c])\u1030/ ,"\u1034")
30
- output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103d])\u1030/ ,"\u1034")
31
- output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103e])\u1030/ ,"\u1034")
32
- output_text = output_text.gsub(/(?<=[\u103b\u103c][\u102d\u1036])\u1030/ ,"\u1034")
33
- output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103d][\u103e])\u1030/ ,"\u1034")
34
- output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103d][\u102d\u1036])\u1030/ ,"\u1034")
35
- output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103e][\u102d\u1036])\u1030/ ,"\u1034")
36
- output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103d][\u103e][\u102d\u1036])\u1030/ ,"\u1034")
37
- output_text = output_text.gsub(/(?<=(\u1039[\u1000-\u1021]))\u1030/ ,"\u1034")
38
- output_text = output_text.gsub(/(?<=(\u1039[\u1000-\u1021])[\u102d\u1036])\u1030/ ,"\u1034")
39
- output_text = output_text.gsub(/(?<=[\u100a\u100c\u1020\u1025\u1029])\u1030/ ,"\u1034")
40
- output_text = output_text.gsub(/(?<=[\u100a\u100c\u1020\u1025\u1029][\u102d\u1036])\u1030/ ,"\u1034")
41
- output_text = output_text.gsub(/(?<=\u103c)\u103e/ ,"\u1087")
42
- output_text = output_text.gsub(/\u1009(?=[\u103a])/ ,"\u1025")
43
- output_text = output_text.gsub(/\u1009(?=\u1039[\u1000-\u1021])/ ,"\u1025")
44
- output_text = output_text.gsub(/([\u1000-\u1021\u1029])((?:\u1039[\u1000-\u1021])?)((?:[\u103b-\u103e\u1087]*)?)\u1031/ ,"\u1031\\1\\2\\3")
45
- output_text = output_text.gsub(/([\u1000-\u1021\u1029])((?:\u1039[\u1000-\u1021\u1000-\u1021])?)(\u103c)/ ,"\\3\\1\\2")
46
- output_text = output_text.gsub(/\u1004\u103a\u1039/ ,"\u1064")
47
- output_text = output_text.gsub(/(\u1064)((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u102d/ ,"\\2\\3\\4\u108b")
48
- output_text = output_text.gsub(/(\u1064)((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u102e/ ,"\\2\\3\\4\u108c")
49
- output_text = output_text.gsub(/(\u1064)((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u1036/ ,"\\2\\3\\4\u108d")
50
- output_text = output_text.gsub(/(\u1064)((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])/ ,"\\2\\3\\4\u1064")
51
- output_text = output_text.gsub(/\u100a(?=[\u1039\u102f\u1030])/ ,"\u106b")
52
- output_text = output_text.gsub(/\u100a/ ,"\u100a")
53
- output_text = output_text.gsub(/\u101b(?=[\u102f\u1030])/ ,"\u1090")
54
- output_text = output_text.gsub(/\u101b/ ,"\u101b")
55
- output_text = output_text.gsub(/\u1014(?=[\u1039\u103d\u103e\u102f\u1030])/ ,"\u108f")
56
- output_text = output_text.gsub(/\u1014/ ,"\u1014")
57
- output_text = output_text.gsub(/\u1039\u1000/ ,"\u1060")
58
- output_text = output_text.gsub(/\u1039\u1001/ ,"\u1061")
59
- output_text = output_text.gsub(/\u1039\u1002/ ,"\u1062")
60
- output_text = output_text.gsub(/\u1039\u1003/ ,"\u1063")
61
- output_text = output_text.gsub(/\u1039\u1005/ ,"\u1065")
62
- output_text = output_text.gsub(/\u1039\u1006/ ,"\u1066")
63
- output_text = output_text.gsub(/(?<=[\u1001\u1002\u1004\u1005\u1007\u1012\u1013\u108f\u1015\u1016\u1017\u1019\u101d])\u1066/ ,"\u1067")
64
- output_text = output_text.gsub(/\u1039\u1007/ ,"\u1068")
65
- output_text = output_text.gsub(/\u1039\u1008/ ,"\u1069")
66
- output_text = output_text.gsub(/\u1039\u100f/ ,"\u1070")
67
- output_text = output_text.gsub(/\u1039\u1010/ ,"\u1071")
68
- output_text = output_text.gsub(/(?<=[\u1001\u1002\u1004\u1005\u1007\u1012\u1013\u108f\u1015\u1016\u1017\u1019\u101d])\u1071/ ,"\u1072")
69
- output_text = output_text.gsub(/\u1039\u1011/ ,"\u1073")
70
- output_text = output_text.gsub(/(?<=[\u1001\u1002\u1004\u1005\u1007\u1012\u1013\u108f\u1015\u1016\u1017\u1019\u101d])\u1073/ ,"\u1074")
71
- output_text = output_text.gsub(/\u1039\u1012/ ,"\u1075")
72
- output_text = output_text.gsub(/\u1039\u1013/ ,"\u1076")
73
- output_text = output_text.gsub(/\u1039\u1014/ ,"\u1077")
74
- output_text = output_text.gsub(/\u1039\u1015/ ,"\u1078")
75
- output_text = output_text.gsub(/\u1039\u1016/ ,"\u1079")
76
- output_text = output_text.gsub(/\u1039\u1017/ ,"\u107a")
77
- output_text = output_text.gsub(/\u1039\u1018/ ,"\u107b")
78
- output_text = output_text.gsub(/\u1039\u1019/ ,"\u107c")
79
- output_text = output_text.gsub(/\u1039\u101c/ ,"\u1085")
80
- output_text = output_text.gsub(/\u100f\u1039\u100d/ ,"\u1091")
81
- output_text = output_text.gsub(/\u100b\u1039\u100c/ ,"\u1092")
82
- output_text = output_text.gsub(/\u1039\u100c/ ,"\u106d")
83
- output_text = output_text.gsub(/\u100b\u1039\u100b/ ,"\u1097")
84
- output_text = output_text.gsub(/\u1039\u100b/ ,"\u106c")
85
- output_text = output_text.gsub(/\u100e\u1039\u100d/ ,"\u106f")
86
- output_text = output_text.gsub(/\u100d\u1039\u100d/ ,"\u106e")
87
- output_text = output_text.gsub(/\u1009(?=\u103a)/ ,"\u1025")
88
- output_text = output_text.gsub(/\u1025(?=[\u1039\u102f\u1030])/ ,"\u106a")
89
- output_text = output_text.gsub(/\u1025/ ,"\u1025")
90
- output_text = output_text.gsub(/\u103a/ ,"\u1039")
91
- output_text = output_text.gsub(/\u103b\u103d\u103e/ ,"\u107d\u108a")
92
- output_text = output_text.gsub(/\u103d\u103e/ ,"\u108a")
93
- output_text = output_text.gsub(/\u103b/ ,"\u103a")
94
- output_text = output_text.gsub(/\u103c/ ,"\u103b")
95
- output_text = output_text.gsub(/\u103d/ ,"\u103c")
96
- output_text = output_text.gsub(/\u103e/ ,"\u103d")
97
- output_text = output_text.gsub(/\u103a(?=[\u103c\u103d\u108a])/ ,"\u107d")
98
- output_text = output_text.gsub(/(?<=\u100a(?:[\u102d\u102e\u1036\u108b\u108c\u108d\u108e]))\u103d/ ,"\u1087")
99
- output_text = output_text.gsub(/(?<=\u100a)\u103d/ ,"\u1087")
100
- output_text = output_text.gsub(/\u103b(?=[\u1000\u1003\u1006\u100f\u1010\u1011\u1018\u101a\u101c\u101e\u101f\u1021])/ ,"\u107e")
101
- output_text = output_text.gsub(/\u107e([\u1000-\u1021\u108f])(?=[\u102d\u102e\u1036\u108b\u108c\u108d\u108e])/ ,"\u1080\\1")
102
- output_text = output_text.gsub(/\u107e([\u1000-\u1021\u108f])(?=[\u103c\u108a])/ ,"\u1082\\1")
103
- output_text = output_text.gsub(/\u103b([\u1000-\u1021\u108f])(?=[\u102d\u102e\u1036\u108b\u108c\u108d\u108e])/ ,"\u107f\\1")
104
- output_text = output_text.gsub(/\u103b([\u1000-\u1021\u108f])(?=[\u103c\u108a])/ ,"\u1081\\1")
105
- output_text = output_text.gsub(/(?<=\u1014)\u1037/ ,"\u1094")
106
- output_text = output_text.gsub(/(?<=\u1014[\u103a\u1032])\u1037/ ,"\u1094")
107
- output_text = output_text.gsub(/(?<=\u1033)\u1094/ ,"\u1095")
108
- output_text = output_text.gsub(/(?<=\u1033[\u1036])\u1094/ ,"\u1095")
109
- output_text = output_text.gsub(/(?<=\u1034)\u1094/ ,"\u1095")
110
- output_text = output_text.gsub(/(?<=\u1034[\u1036])\u1094/ ,"\u1095")
111
- output_text = output_text.gsub(/(?<=[\u103c\u103d\u108a])\u1037/ ,"\u1095")
112
- output_text = output_text.gsub(/(?<=[\u103c\u103d\u108a][\u1032])\u1037/ ,"\u1095")
113
- # "return" is not necessary but it"s there to prevent "end" from auto-indent
114
- return output_text
115
- end
6
+ def uni512zg1(input_text)
7
+ return input_text unless detect_font(input_text) == :uni
8
+ output_text = input_text
9
+ output_text = output_text.gsub(/\u104e\u1004\u103a\u1038/ ,"\u104e")
10
+ output_text = output_text.gsub(/\u102b\u103a/ ,"\u105a")
11
+ output_text = output_text.gsub(/\u102d\u1036/ ,"\u108e")
12
+ output_text = output_text.gsub(/\u103f/ ,"\u1086")
13
+ output_text = output_text.gsub(/(?<=\u102f)\u1037/ ,"\u1094")
14
+ output_text = output_text.gsub(/(?<=\u102f\u1036)\u1037/ ,"\u1094")
15
+ output_text = output_text.gsub(/(?<=\u1030)\u1037/ ,"\u1094")
16
+ output_text = output_text.gsub(/(?<=\u1030\u1036)\u1037/ ,"\u1094")
17
+ output_text = output_text.gsub(/(?<=\u1014)\u1037/ ,"\u1094")
18
+ output_text = output_text.gsub(/(?<=\u1014[\u103a\u1032])\u1037/ ,"\u1094")
19
+ output_text = output_text.gsub(/(?<=\u103b)\u1037/ ,"\u1095")
20
+ output_text = output_text.gsub(/(?<=\u103b[\u1032\u1036])\u1037/ ,"\u1095")
21
+ output_text = output_text.gsub(/(?<=\u103d)\u1037/ ,"\u1095")
22
+ output_text = output_text.gsub(/(?<=\u103d[\u1032])\u1037/ ,"\u1095")
23
+ output_text = output_text.gsub(/(?<=[\u103b\u103c\u103d])\u102f/ ,"\u1033")
24
+ output_text = output_text.gsub(/(?<=[\u103b\u103c\u103d][\u102d\u1036])\u102f/ ,"\u1033")
25
+ output_text = output_text.gsub(/(?<=(\u1039[\u1000-\u1021]))\u102f/ ,"\u1033")
26
+ output_text = output_text.gsub(/(?<=(\u1039[\u1000-\u1021])[\u102d\u1036])\u102f/ ,"\u1033")
27
+ output_text = output_text.gsub(/(?<=[\u100a\u100c\u1020\u1025\u1029])\u102f/ ,"\u1033")
28
+ output_text = output_text.gsub(/(?<=[\u100a\u100c\u1020\u1025\u1029][\u102d\u1036])\u102f/ ,"\u1033")
29
+ output_text = output_text.gsub(/(?<=[\u103b\u103c])\u1030/ ,"\u1034")
30
+ output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103d])\u1030/ ,"\u1034")
31
+ output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103e])\u1030/ ,"\u1034")
32
+ output_text = output_text.gsub(/(?<=[\u103b\u103c][\u102d\u1036])\u1030/ ,"\u1034")
33
+ output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103d][\u103e])\u1030/ ,"\u1034")
34
+ output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103d][\u102d\u1036])\u1030/ ,"\u1034")
35
+ output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103e][\u102d\u1036])\u1030/ ,"\u1034")
36
+ output_text = output_text.gsub(/(?<=[\u103b\u103c][\u103d][\u103e][\u102d\u1036])\u1030/ ,"\u1034")
37
+ output_text = output_text.gsub(/(?<=(\u1039[\u1000-\u1021]))\u1030/ ,"\u1034")
38
+ output_text = output_text.gsub(/(?<=(\u1039[\u1000-\u1021])[\u102d\u1036])\u1030/ ,"\u1034")
39
+ output_text = output_text.gsub(/(?<=[\u100a\u100c\u1020\u1025\u1029])\u1030/ ,"\u1034")
40
+ output_text = output_text.gsub(/(?<=[\u100a\u100c\u1020\u1025\u1029][\u102d\u1036])\u1030/ ,"\u1034")
41
+ output_text = output_text.gsub(/(?<=\u103c)\u103e/ ,"\u1087")
42
+ output_text = output_text.gsub(/\u1009(?=[\u103a])/ ,"\u1025")
43
+ output_text = output_text.gsub(/\u1009(?=\u1039[\u1000-\u1021])/ ,"\u1025")
44
+ output_text = output_text.gsub(/([\u1000-\u1021\u1029])((?:\u1039[\u1000-\u1021])?)((?:[\u103b-\u103e\u1087]*)?)\u1031/ ,"\u1031\\1\\2\\3")
45
+ output_text = output_text.gsub(/([\u1000-\u1021\u1029])((?:\u1039[\u1000-\u1021\u1000-\u1021])?)(\u103c)/ ,"\\3\\1\\2")
46
+ output_text = output_text.gsub(/\u1004\u103a\u1039/ ,"\u1064")
47
+ output_text = output_text.gsub(/(\u1064)((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u102d/ ,"\\2\\3\\4\u108b")
48
+ output_text = output_text.gsub(/(\u1064)((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u102e/ ,"\\2\\3\\4\u108c")
49
+ output_text = output_text.gsub(/(\u1064)((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u1036/ ,"\\2\\3\\4\u108d")
50
+ output_text = output_text.gsub(/(\u1064)((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])/ ,"\\2\\3\\4\u1064")
51
+ output_text = output_text.gsub(/\u100a(?=[\u1039\u102f\u1030])/ ,"\u106b")
52
+ output_text = output_text.gsub(/\u100a/ ,"\u100a")
53
+ output_text = output_text.gsub(/\u101b(?=[\u102f\u1030])/ ,"\u1090")
54
+ output_text = output_text.gsub(/\u101b/ ,"\u101b")
55
+ output_text = output_text.gsub(/\u1014(?=[\u1039\u103d\u103e\u102f\u1030])/ ,"\u108f")
56
+ output_text = output_text.gsub(/\u1014/ ,"\u1014")
57
+ output_text = output_text.gsub(/\u1039\u1000/ ,"\u1060")
58
+ output_text = output_text.gsub(/\u1039\u1001/ ,"\u1061")
59
+ output_text = output_text.gsub(/\u1039\u1002/ ,"\u1062")
60
+ output_text = output_text.gsub(/\u1039\u1003/ ,"\u1063")
61
+ output_text = output_text.gsub(/\u1039\u1005/ ,"\u1065")
62
+ output_text = output_text.gsub(/\u1039\u1006/ ,"\u1066")
63
+ output_text = output_text.gsub(/(?<=[\u1001\u1002\u1004\u1005\u1007\u1012\u1013\u108f\u1015\u1016\u1017\u1019\u101d])\u1066/ ,"\u1067")
64
+ output_text = output_text.gsub(/\u1039\u1007/ ,"\u1068")
65
+ output_text = output_text.gsub(/\u1039\u1008/ ,"\u1069")
66
+ output_text = output_text.gsub(/\u1039\u100f/ ,"\u1070")
67
+ output_text = output_text.gsub(/\u1039\u1010/ ,"\u1071")
68
+ output_text = output_text.gsub(/(?<=[\u1001\u1002\u1004\u1005\u1007\u1012\u1013\u108f\u1015\u1016\u1017\u1019\u101d])\u1071/ ,"\u1072")
69
+ output_text = output_text.gsub(/\u1039\u1011/ ,"\u1073")
70
+ output_text = output_text.gsub(/(?<=[\u1001\u1002\u1004\u1005\u1007\u1012\u1013\u108f\u1015\u1016\u1017\u1019\u101d])\u1073/ ,"\u1074")
71
+ output_text = output_text.gsub(/\u1039\u1012/ ,"\u1075")
72
+ output_text = output_text.gsub(/\u1039\u1013/ ,"\u1076")
73
+ output_text = output_text.gsub(/\u1039\u1014/ ,"\u1077")
74
+ output_text = output_text.gsub(/\u1039\u1015/ ,"\u1078")
75
+ output_text = output_text.gsub(/\u1039\u1016/ ,"\u1079")
76
+ output_text = output_text.gsub(/\u1039\u1017/ ,"\u107a")
77
+ output_text = output_text.gsub(/\u1039\u1018/ ,"\u107b")
78
+ output_text = output_text.gsub(/\u1039\u1019/ ,"\u107c")
79
+ output_text = output_text.gsub(/\u1039\u101c/ ,"\u1085")
80
+ output_text = output_text.gsub(/\u100f\u1039\u100d/ ,"\u1091")
81
+ output_text = output_text.gsub(/\u100b\u1039\u100c/ ,"\u1092")
82
+ output_text = output_text.gsub(/\u1039\u100c/ ,"\u106d")
83
+ output_text = output_text.gsub(/\u100b\u1039\u100b/ ,"\u1097")
84
+ output_text = output_text.gsub(/\u1039\u100b/ ,"\u106c")
85
+ output_text = output_text.gsub(/\u100e\u1039\u100d/ ,"\u106f")
86
+ output_text = output_text.gsub(/\u100d\u1039\u100d/ ,"\u106e")
87
+ output_text = output_text.gsub(/\u1009(?=\u103a)/ ,"\u1025")
88
+ output_text = output_text.gsub(/\u1025(?=[\u1039\u102f\u1030])/ ,"\u106a")
89
+ output_text = output_text.gsub(/\u1025/ ,"\u1025")
90
+ output_text = output_text.gsub(/\u103a/ ,"\u1039")
91
+ output_text = output_text.gsub(/\u103b\u103d\u103e/ ,"\u107d\u108a")
92
+ output_text = output_text.gsub(/\u103d\u103e/ ,"\u108a")
93
+ output_text = output_text.gsub(/\u103b/ ,"\u103a")
94
+ output_text = output_text.gsub(/\u103c/ ,"\u103b")
95
+ output_text = output_text.gsub(/\u103d/ ,"\u103c")
96
+ output_text = output_text.gsub(/\u103e/ ,"\u103d")
97
+ output_text = output_text.gsub(/\u103a(?=[\u103c\u103d\u108a])/ ,"\u107d")
98
+ output_text = output_text.gsub(/(?<=\u100a(?:[\u102d\u102e\u1036\u108b\u108c\u108d\u108e]))\u103d/ ,"\u1087")
99
+ output_text = output_text.gsub(/(?<=\u100a)\u103d/ ,"\u1087")
100
+ output_text = output_text.gsub(/\u103b(?=[\u1000\u1003\u1006\u100f\u1010\u1011\u1018\u101a\u101c\u101e\u101f\u1021])/ ,"\u107e")
101
+ output_text = output_text.gsub(/\u107e([\u1000-\u1021\u108f])(?=[\u102d\u102e\u1036\u108b\u108c\u108d\u108e])/ ,"\u1080\\1")
102
+ output_text = output_text.gsub(/\u107e([\u1000-\u1021\u108f])(?=[\u103c\u108a])/ ,"\u1082\\1")
103
+ output_text = output_text.gsub(/\u103b([\u1000-\u1021\u108f])(?=[\u102d\u102e\u1036\u108b\u108c\u108d\u108e])/ ,"\u107f\\1")
104
+ output_text = output_text.gsub(/\u103b([\u1000-\u1021\u108f])(?=[\u103c\u108a])/ ,"\u1081\\1")
105
+ output_text = output_text.gsub(/(?<=\u1014)\u1037/ ,"\u1094")
106
+ output_text = output_text.gsub(/(?<=\u1014[\u103a\u1032])\u1037/ ,"\u1094")
107
+ output_text = output_text.gsub(/(?<=\u1033)\u1094/ ,"\u1095")
108
+ output_text = output_text.gsub(/(?<=\u1033[\u1036])\u1094/ ,"\u1095")
109
+ output_text = output_text.gsub(/(?<=\u1034)\u1094/ ,"\u1095")
110
+ output_text = output_text.gsub(/(?<=\u1034[\u1036])\u1094/ ,"\u1095")
111
+ output_text = output_text.gsub(/(?<=[\u103c\u103d\u108a])\u1037/ ,"\u1095")
112
+ output_text = output_text.gsub(/(?<=[\u103c\u103d\u108a][\u1032])\u1037/ ,"\u1095")
113
+ # 'return' is not necessary but it's there to prevent 'end' from auto-indent
114
+ return output_text
115
+ end
116
116
 
117
- def zg12uni51(input_text)
118
- return input_text unless detect_font(input_text) == :zawgyi
119
- output_text = input_text
120
- output_text = output_text.gsub(/\u106a/ ,"\u1009")
121
- output_text = output_text.gsub(/\u1025(?=[\u1039\u102c])/ ,"\u1009")
122
- output_text = output_text.gsub(/\u1025\u102e/ ,"\u1026")
123
- output_text = output_text.gsub(/\u106b/ ,"\u100a")
124
- output_text = output_text.gsub(/\u1090/ ,"\u101b")
125
- output_text = output_text.gsub(/\u1040/ ,"\u1040")
126
- output_text = output_text.gsub(/\u108f/ ,"\u1014")
127
- output_text = output_text.gsub(/\u1012/ ,"\u1012")
128
- output_text = output_text.gsub(/\u1013/ ,"\u1013")
129
- output_text = output_text.gsub(/[\u103d\u1087]/ ,"\u103e")
130
- output_text = output_text.gsub(/\u103c/ ,"\u103d")
131
- output_text = output_text.gsub(/[\u103b\u107e\u107f\u1080\u1081\u1082\u1083\u1084]/ ,"\u103c")
132
- output_text = output_text.gsub(/[\u103a\u107d]/ ,"\u103b")
133
- output_text = output_text.gsub(/\u103d\u103b/ ,"\u103b\u103d")
134
- output_text = output_text.gsub(/\u108a/ ,"\u103d\u103d")
135
- output_text = output_text.gsub(/\u103d\u103d/ ,"\u103d\u103d")
136
- output_text = output_text.gsub(/((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u1064/ ,"\u1064\\1\\2\\3")
137
- output_text = output_text.gsub(/((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u108b/ ,"\u1064\\1\\2\\3\u102d")
138
- output_text = output_text.gsub(/((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u108c/ ,"\u1064\\1\\2\\3\u102e")
139
- output_text = output_text.gsub(/((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u108d/ ,"\u1064\\1\\2\\3\u1036")
140
- output_text = output_text.gsub(/\u105a/ ,"\u102b\u103a")
141
- output_text = output_text.gsub(/\u108e/ ,"\u102d\u1036")
142
- output_text = output_text.gsub(/\u1033/ ,"\u102f")
143
- output_text = output_text.gsub(/\u1034/ ,"\u1030")
144
- output_text = output_text.gsub(/\u1088/ ,"\u103d\u102f")
145
- output_text = output_text.gsub(/\u1089/ ,"\u103d\u1030")
146
- output_text = output_text.gsub(/\u1039/ ,"\u103a")
147
- output_text = output_text.gsub(/[\u1094\u1095]/ ,"\u1037")
148
- output_text = output_text.gsub(/([\u1000-\u1021])([\u102c\u102d\u102e\u1032\u1036]){1,2}([\u1060\u1061\u1062\u1063\u1065\u1066\u1067\u1068\u1069\u1070\u1071\u1072\u1073\u1074\u1075\u1076\u1077\u1078\u1079\u107a\u107b\u107c\u1085])/ ,"\\1\\3\\2")
149
- output_text = output_text.gsub(/\u1064/ ,"\u1004\u103a\u1039")
150
- output_text = output_text.gsub(/\u104e/ ,"\u104e\u1004\u103a\u1038")
151
- output_text = output_text.gsub(/\u1086/ ,"\u103f")
152
- output_text = output_text.gsub(/\u1060/ ,"\u1039\u1000")
153
- output_text = output_text.gsub(/\u1061/ ,"\u1039\u1001")
154
- output_text = output_text.gsub(/\u1062/ ,"\u1039\u1002")
155
- output_text = output_text.gsub(/\u1063/ ,"\u1039\u1003")
156
- output_text = output_text.gsub(/\u1065/ ,"\u1039\u1005")
157
- output_text = output_text.gsub(/[\u1066\u1067]/ ,"\u1039\u1006")
158
- output_text = output_text.gsub(/\u1068/ ,"\u1039\u1007")
159
- output_text = output_text.gsub(/\u1069/ ,"\u1039\u1008")
160
- output_text = output_text.gsub(/\u106c/ ,"\u1039\u100b")
161
- output_text = output_text.gsub(/\u1070/ ,"\u1039\u100f")
162
- output_text = output_text.gsub(/[\u1071\u1072]/ ,"\u1039\u1010")
163
- output_text = output_text.gsub(/[\u1073\u1074]/ ,"\u1039\u1011")
164
- output_text = output_text.gsub(/\u1075/ ,"\u1039\u1012")
165
- output_text = output_text.gsub(/\u1076/ ,"\u1039\u1013")
166
- output_text = output_text.gsub(/\u1077/ ,"\u1039\u1014")
167
- output_text = output_text.gsub(/\u1078/ ,"\u1039\u1015")
168
- output_text = output_text.gsub(/\u1079/ ,"\u1039\u1016")
169
- output_text = output_text.gsub(/\u107a/ ,"\u1039\u1017")
170
- output_text = output_text.gsub(/\u107b/ ,"\u1039\u1018")
171
- output_text = output_text.gsub(/\u107c/ ,"\u1039\u1019")
172
- output_text = output_text.gsub(/\u1085/ ,"\u1039\u101c")
173
- output_text = output_text.gsub(/\u106d/ ,"\u1039\u100c")
174
- output_text = output_text.gsub(/\u1091/ ,"\u100f\u1039\u100d")
175
- output_text = output_text.gsub(/\u1092/ ,"\u100b\u1039\u100c")
176
- output_text = output_text.gsub(/\u1097/ ,"\u100b\u1039\u100b")
177
- output_text = output_text.gsub(/\u106f/ ,"\u100e\u1039\u100d")
178
- output_text = output_text.gsub(/\u106e/ ,"\u100d\u1039\u100d")
179
- output_text = output_text.gsub(/(\u103c)([\u1000-\u1021])((?:\u1039[\u1000-\u1021])?)/ ,"\\2\\3\\1")
180
- output_text = output_text.gsub(/(\u103d)(\u103d)([\u103b\u103c])/ ,"\\3\\2\\1")
181
- output_text = output_text.gsub(/(\u103d)([\u103b\u103c])/ ,"\\2\\1")
182
- output_text = output_text.gsub(/(\u103d)([\u103b\u103c])/ ,"\\2\\1")
183
- output_text = output_text.gsub(/(?<=([\u1000-\u101c\u101e-\u102a\u102c\u102e-\u103d\u104c-\u109f]))(\u1040)(?=\s)?/ ,"\u101d")
184
- output_text = output_text.gsub(/(?<=(\u101d))(\u1040)(?=\s)?/ ,"\u101d")
185
- output_text = output_text.gsub(/(?<=([\u1000-\u101c\u101e-\u102a\u102c\u102e-\u103d\u104c-\u109f\s]))(\u1047)/ ,"\u101b")
186
- output_text = output_text.gsub(/(\u1047)(?=[\u1000-\u101c\u101e-\u102a\u102c\u102e-\u103d\u104c-\u109f\s])/ ,"\u101b")
187
- output_text = output_text.gsub(/((?:\u1031)?)([\u1000-\u1021])((?:\u1039[\u1000-\u1021])?)((?:[\u102d\u102e\u1032])?)([\u1036\u1037\u1038]{0,2})([\u103b-\u103d]{0,3})((?:[\u102f\u1030])?)([\u1036\u1037\u1038]{0,2})((?:[\u102d\u102e\u1032])?)/ ,"\\2\\3\\6\\1\\4\\9\\7\\5\\8")
188
- output_text = output_text.gsub(/\u1036\u102f/ ,"\u102f\u1036")
189
- output_text = output_text.gsub(/(\u103a)(\u1037)/ ,"\\2\\1")
190
- # 'return' is not necessary but it's there to prevent 'end' from auto-indent
191
- return output_text
192
- end
117
+ def zg12uni51(input_text)
118
+ return input_text unless detect_font(input_text) == :zawgyi
119
+ output_text = input_text
120
+ output_text = output_text.gsub(/\u106a/ ,"\u1009")
121
+ output_text = output_text.gsub(/\u1025(?=[\u1039\u102c])/ ,"\u1009")
122
+ output_text = output_text.gsub(/\u1025\u102e/ ,"\u1026")
123
+ output_text = output_text.gsub(/\u106b/ ,"\u100a")
124
+ output_text = output_text.gsub(/\u1090/ ,"\u101b")
125
+ output_text = output_text.gsub(/\u1040/ ,"\u1040")
126
+ output_text = output_text.gsub(/\u108f/ ,"\u1014")
127
+ output_text = output_text.gsub(/\u1012/ ,"\u1012")
128
+ output_text = output_text.gsub(/\u1013/ ,"\u1013")
129
+ output_text = output_text.gsub(/[\u103d\u1087]/ ,"\u103e")
130
+ output_text = output_text.gsub(/\u103c/ ,"\u103d")
131
+ output_text = output_text.gsub(/[\u103b\u107e\u107f\u1080\u1081\u1082\u1083\u1084]/ ,"\u103c")
132
+ output_text = output_text.gsub(/[\u103a\u107d]/ ,"\u103b")
133
+ output_text = output_text.gsub(/\u103d\u103b/ ,"\u103b\u103e")
134
+ output_text = output_text.gsub(/\u108a/ ,"\u103d\u103e")
135
+ output_text = output_text.gsub(/\u103d\u103c/ ,"\u103d\u103e")
136
+ output_text = output_text.gsub(/((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u1064/ ,"\u1064\\1\\2\\3")
137
+ output_text = output_text.gsub(/((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u108b/ ,"\u1064\\1\\2\\3\u102d")
138
+ output_text = output_text.gsub(/((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u108c/ ,"\u1064\\1\\2\\3\u102e")
139
+ output_text = output_text.gsub(/((?:\u1031)?)((?:\u103c)?)([\u1000-\u1021])\u108d/ ,"\u1064\\1\\2\\3\u1036")
140
+ output_text = output_text.gsub(/\u105a/ ,"\u102b\u103a")
141
+ output_text = output_text.gsub(/\u108e/ ,"\u102d\u1036")
142
+ output_text = output_text.gsub(/\u1033/ ,"\u102f")
143
+ output_text = output_text.gsub(/\u1034/ ,"\u1030")
144
+ output_text = output_text.gsub(/\u1088/ ,"\u103e\u102f")
145
+ output_text = output_text.gsub(/\u1089/ ,"\u103e\u1030")
146
+ output_text = output_text.gsub(/\u1039/ ,"\u103a")
147
+ output_text = output_text.gsub(/[\u1094\u1095]/ ,"\u1037")
148
+ output_text = output_text.gsub(/([\u1000-\u1021])([\u102c\u102d\u102e\u1032\u1036]){1,2}([\u1060\u1061\u1062\u1063\u1065\u1066\u1067\u1068\u1069\u1070\u1071\u1072\u1073\u1074\u1075\u1076\u1077\u1078\u1079\u107a\u107b\u107c\u1085])/ ,"\\1\\3\\2")
149
+ output_text = output_text.gsub(/\u1064/ ,"\u1004\u103a\u1039")
150
+ output_text = output_text.gsub(/\u104e/ ,"\u104e\u1004\u103a\u1038")
151
+ output_text = output_text.gsub(/\u1086/ ,"\u103f")
152
+ output_text = output_text.gsub(/\u1060/ ,"\u1039\u1000")
153
+ output_text = output_text.gsub(/\u1061/ ,"\u1039\u1001")
154
+ output_text = output_text.gsub(/\u1062/ ,"\u1039\u1002")
155
+ output_text = output_text.gsub(/\u1063/ ,"\u1039\u1003")
156
+ output_text = output_text.gsub(/\u1065/ ,"\u1039\u1005")
157
+ output_text = output_text.gsub(/[\u1066\u1067]/ ,"\u1039\u1006")
158
+ output_text = output_text.gsub(/\u1068/ ,"\u1039\u1007")
159
+ output_text = output_text.gsub(/\u1069/ ,"\u1039\u1008")
160
+ output_text = output_text.gsub(/\u106c/ ,"\u1039\u100b")
161
+ output_text = output_text.gsub(/\u1070/ ,"\u1039\u100f")
162
+ output_text = output_text.gsub(/[\u1071\u1072]/ ,"\u1039\u1010")
163
+ output_text = output_text.gsub(/[\u1073\u1074]/ ,"\u1039\u1011")
164
+ output_text = output_text.gsub(/\u1075/ ,"\u1039\u1012")
165
+ output_text = output_text.gsub(/\u1076/ ,"\u1039\u1013")
166
+ output_text = output_text.gsub(/\u1077/ ,"\u1039\u1014")
167
+ output_text = output_text.gsub(/\u1078/ ,"\u1039\u1015")
168
+ output_text = output_text.gsub(/\u1079/ ,"\u1039\u1016")
169
+ output_text = output_text.gsub(/\u107a/ ,"\u1039\u1017")
170
+ output_text = output_text.gsub(/\u107b/ ,"\u1039\u1018")
171
+ output_text = output_text.gsub(/\u107c/ ,"\u1039\u1019")
172
+ output_text = output_text.gsub(/\u1085/ ,"\u1039\u101c")
173
+ output_text = output_text.gsub(/\u106d/ ,"\u1039\u100c")
174
+ output_text = output_text.gsub(/\u1091/ ,"\u100f\u1039\u100d")
175
+ output_text = output_text.gsub(/\u1092/ ,"\u100b\u1039\u100c")
176
+ output_text = output_text.gsub(/\u1097/ ,"\u100b\u1039\u100b")
177
+ output_text = output_text.gsub(/\u106f/ ,"\u100e\u1039\u100d")
178
+ output_text = output_text.gsub(/\u106e/ ,"\u100d\u1039\u100d")
179
+ output_text = output_text.gsub(/(\u103c)([\u1000-\u1021])((?:\u1039[\u1000-\u1021])?)/ ,"\\2\\3\\1")
180
+ output_text = output_text.gsub(/(\u103d)(\u103d)([\u103b\u103c])/ ,"\\3\\2\\1")
181
+ output_text = output_text.gsub(/(\u103d)([\u103b\u103c])/ ,"\\2\\1")
182
+ output_text = output_text.gsub(/(\u103d)([\u103b\u103c])/ ,"\\2\\1")
183
+ output_text = output_text.gsub(/(?<=([\u1000-\u101c\u101e-\u102a\u102c\u102e-\u103d\u104c-\u109f]))(\u1040)(?=\s)?/ ,"\u101d")
184
+ output_text = output_text.gsub(/(?<=(\u101d))(\u1040)(?=\s)?/ ,"\u101d")
185
+ output_text = output_text.gsub(/(?<=([\u1000-\u101c\u101e-\u102a\u102c\u102e-\u103d\u104c-\u109f\s]))(\u1047)/ ,"\u101b")
186
+ output_text = output_text.gsub(/(\u1047)(?=[\u1000-\u101c\u101e-\u102a\u102c\u102e-\u103d\u104c-\u109f\s])/ ,"\u101b")
187
+ output_text = output_text.gsub(/((?:\u1031)?)([\u1000-\u1021])((?:\u1039[\u1000-\u1021])?)((?:[\u102d\u102e\u1032])?)([\u1036\u1037\u1038]{0,2})([\u103b-\u103c]{0,3})((?:[\u102f\u1030])?)([\u1036\u1037\u1038]{0,2})((?:[\u102d\u102e\u1032])?)/ ,"\\2\\3\\6\\1\\4\\9\\7\\5\\8")
188
+ output_text = output_text.gsub(/\u1036\u102f/ ,"\u102f\u1036")
189
+ output_text = output_text.gsub(/(\u103a)(\u1037)/ ,"\\2\\1")
190
+ # 'return' is not necessary but it's there to prevent 'end' from auto-indent
191
+ return output_text
192
+ end
193
193
 
194
194
  def detect_font(input_text)
195
195
  #do nothing if nil text
@@ -1,4 +1,4 @@
1
1
  # Version
2
2
  module MmunicodeRails
3
- VERSION = '0.4.7'
3
+ VERSION = '0.4.8'
4
4
  end
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.7"
21
+ spec.add_development_dependency "bundler", "~> 1.6"
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
23
  spec.add_development_dependency "minitest", "~>5.0"
24
24
  spec.add_development_dependency 'activerecord', '~> 3.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mmunicode_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.7
4
+ version: 0.4.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - dreamingblackcat
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-17 00:00:00.000000000 Z
11
+ date: 2015-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.7'
26
+ version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -103,6 +103,7 @@ extensions: []
103
103
  extra_rdoc_files: []
104
104
  files:
105
105
  - ".gitignore"
106
+ - ".travis.yml"
106
107
  - Gemfile
107
108
  - LICENSE.txt
108
109
  - README.md