world-flags 0.6.1.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -10,6 +10,10 @@ This engine/gem can be used with Rails 3+. WorldFlags includes css files for fla
10
10
 
11
11
  The sprites contains all the main country flags in the world.
12
12
 
13
+ You can use the [sprite generator](http://spritegen.website-performance.org/) to generate sprites for other icons sets and follow the pattern for this gem.
14
+
15
+ You can also see the [pictos-icons](https://github.com/kristianmandrup/pictos-icons) gem for another example using this model.
16
+
13
17
  ## Customizing Flag sprite size
14
18
 
15
19
  *Resize images:*
@@ -30,6 +34,14 @@ Edit the last part where ResizeCss is initialized
30
34
 
31
35
  The last argument (here 24) is the flag size used for calculating new positioning in the css files generated.
32
36
 
37
+ The ResizeCSS initializer takes many additional options, including :auto-exec to auto convert the sprite using ImageMagick.
38
+
39
+ `resizer = ResizeCss.new 32, 24, auto-exec: true`
40
+
41
+ See the code for more details on how to adjust to fit your needs.
42
+
43
+ Note: Needs some love in order to reflect latest stylesheet design.
44
+
33
45
  ## Configuration
34
46
 
35
47
  In you asset `application.css` manifest file:
@@ -249,27 +261,37 @@ The `basic.css` file in the `vendor/assets/stylesheets/flags` folder of this rep
249
261
  border: 1px solid;
250
262
  }
251
263
 
252
- .border .flag.selected {
264
+ .border .selected {
253
265
  border: 1px solid black;
254
266
  }
255
267
 
256
268
  .f16.flag {
269
+ width: 16px;
270
+ height: 16px;
257
271
  line-height: 16px;
258
272
  }
259
273
 
260
274
  .f24.flag {
275
+ width: 24px;
276
+ height: 24px;
261
277
  line-height: 24px;
262
278
  }
263
279
 
264
280
  .f32.flag {
281
+ width: 32px;
282
+ height: 32px;
265
283
  line-height: 32px;
266
284
  }
267
285
 
268
286
  .f48.flag {
287
+ width: 48px;
288
+ height: 48px;
269
289
  line-height: 48px;
270
290
  }
271
291
 
272
292
  .f64.flag {
293
+ width: 64px;
294
+ height: 64px;
273
295
  line-height: 64px;
274
296
  }
275
297
  ```
@@ -278,7 +300,6 @@ The `basic.css` file in the `vendor/assets/stylesheets/flags` folder of this rep
278
300
 
279
301
  Suggestions welcome ;)
280
302
 
281
-
282
303
  ## Enjoy
283
304
 
284
305
  Copyright (2012) Kristian Mandrup
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.1.1
1
+ 0.6.2
@@ -4,27 +4,79 @@
4
4
 
5
5
  class ResizeCss
6
6
 
7
- attr_reader :base_size, :new_size
7
+ attr_reader :base_size, :new_size, :stylesheet_folder, :stylesheet_name, :sprite_name
8
+ attr_reader :template_lang, :size_prefix, :options
8
9
 
9
- def initialize base_size, new_size
10
- @base_size = base_size
11
- @new_size = new_size
10
+ def initialize base_size, new_size, options
11
+ @base_size = base_size
12
+ @new_size = new_size
13
+ @options = options
12
14
 
13
- puts "Use ImageMagick to resize flag sprites:"
14
- puts "convert flags#{base_size}.png -resize #{factor * 100}% flags#{new_size}.png"
15
- puts "convert flags#{base_size}_semi.png -resize #{factor * 100}% flags#{new_size}_semi.png"
15
+ @stylesheet_folder = options[:stylesheet_folder] if options[:stylesheet_folder]
16
+ @stylesheet_name = options[:stylesheet_name] if options[:stylesheet_name]
17
+ @sprite_name = options[:sprite_name] if options[:sprite_name]
18
+ @template_lang = options[:template_lang] if options[:template_lang]
19
+ @size_prefix = options[:size_prefix] if options[:size_prefix]
20
+
21
+ command1 = "convert #{sprite_name}#{base_size}.png -resize #{factor * 100}% #{sprite_name}#{new_size}.png"
22
+ command2 = "convert #{sprite_name}#{base_size}_semi.png -resize #{factor * 100}% #{sprite_name}#{new_size}_semi.png"
23
+
24
+ if auto_exec?
25
+ %x[command1]
26
+ %x[command2]
27
+ else
28
+ puts "Use ImageMagick to resize #{sprite_name} sprites:"
29
+ puts command1
30
+ puts command2
31
+ end
32
+ end
33
+
34
+ def auto_exec?
35
+ options[:auto_exec]
36
+ end
37
+
38
+ def size_prefix
39
+ @size_prefix ||= 'f'
40
+ end
41
+
42
+ def stylesheet_path
43
+ "../../../vendor/assets/stylesheets"
44
+ end
45
+
46
+ def stylesheet_folder
47
+ @stylesheet_folder ||= "flags"
48
+ end
49
+
50
+ def stylesheet_full_path
51
+ @stylesheet_full_path ||= File.join(stylesheet_path, stylesheet_folder)
52
+ end
53
+
54
+ def stylesheet_name
55
+ @stylesheet_name ||= 'flags'
56
+ end
57
+
58
+ def sprite_name
59
+ @sprite_name ||= 'flags'
60
+ end
61
+
62
+ def template_lang
63
+ @template_lang ||= 'erb'
64
+ end
65
+
66
+ def template_ext
67
+ template_lang ? ".#{template_lang}" : ''
16
68
  end
17
69
 
18
70
  def execute options = {:ext => 'css', :semi => false}
19
71
  semi = options[:semi] ? '-semi': ''
20
72
  ext = options[:ext] ? options[:ext] : 'css'
21
- src_file_path = File.expand_path "../../../vendor/assets/stylesheets/flags/flags#{base_size}#{semi}.#{ext}.erb", File.dirname(__FILE__)
22
- target_file_path = File.expand_path "../../../vendor/assets/stylesheets/flags/flags#{new_size}#{semi}.#{ext}.erb", File.dirname(__FILE__)
73
+ src_file_path = File.expand_path "#{stylesheet_full_path}/#{stylesheet_name}#{base_size}#{semi}.#{ext}#{template_ext}", File.dirname(__FILE__)
74
+ target_file_path = File.expand_path "#{stylesheet_full_path}/flags/flags#{new_size}#{semi}.#{ext}#{template_ext}", File.dirname(__FILE__)
23
75
 
24
76
  lines = File.open(src_file_path).readlines
25
77
 
26
- img_exp = "flags#{base_size}"
27
- replace_img = "flags#{new_size}"
78
+ img_exp = "#{sprite_name}#{base_size}"
79
+ replace_img = "#{sprite_name}#{new_size}"
28
80
 
29
81
  repositioned_css = lines.map do |line|
30
82
  pos_match = line.match /.+position:0 -(\d+)px.*/
@@ -36,7 +88,7 @@ class ResizeCss
36
88
  end.join("")
37
89
 
38
90
  File.open(target_file_path, 'w') do |f|
39
- f.puts repositioned_css.gsub ".f#{base_size}", ".f#{new_size}"
91
+ f.puts repositioned_css.gsub ".#{size_prefix}#{base_size}", ".#{size_prefix}#{new_size}"
40
92
  end
41
93
  end
42
94
 
@@ -17,21 +17,31 @@
17
17
  }
18
18
 
19
19
  .f16.flag {
20
+ width: 16px;
21
+ height: 16px;
20
22
  line-height: 16px;
21
23
  }
22
24
 
23
25
  .f24.flag {
26
+ width: 24px;
27
+ height: 24px;
24
28
  line-height: 24px;
25
29
  }
26
30
 
27
31
  .f32.flag {
32
+ width: 32px;
33
+ height: 32px;
28
34
  line-height: 32px;
29
35
  }
30
36
 
31
37
  .f48.flag {
38
+ width: 48px;
39
+ height: 48px;
32
40
  line-height: 48px;
33
41
  }
34
42
 
35
43
  .f64.flag {
44
+ width: 64px;
45
+ height: 64px;
36
46
  line-height: 64px;
37
47
  }
@@ -19,21 +19,31 @@
19
19
  }
20
20
 
21
21
  .f16.flag {
22
+ width: 16px;
23
+ height: 16px;
22
24
  line-height: 16px;
23
25
  }
24
26
 
25
27
  .f24.flag {
28
+ width: 24px;
29
+ height: 24px;
26
30
  line-height: 24px;
27
31
  }
28
32
 
29
33
  .f32.flag {
34
+ width: 32px;
35
+ height: 32px;
30
36
  line-height: 32px;
31
37
  }
32
38
 
33
39
  .f48.flag {
40
+ width: 48px;
41
+ height: 48px;
34
42
  line-height: 48px;
35
43
  }
36
44
 
37
45
  .f64.flag {
46
+ width: 64px;
47
+ height: 64px;
38
48
  line-height: 64px;
39
49
  }
@@ -1,247 +1,3 @@
1
- .f16 .flag.semi {
1
+ .f16 .semi {
2
2
  background:url(<%= asset_path 'flags/flags16_semi.png' %>) no-repeat;
3
3
  }
4
- .f16 .flag._African_Union.semi{background-position:0 -0px;}
5
- .f16 .flag._Arab_League.semi{background-position:0 -16px;}
6
- .f16 .flag._ASEAN.semi{background-position:0 -32px;}
7
- .f16 .flag._CARICOM.semi{background-position:0 -48px;}
8
- .f16 .flag._CIS.semi{background-position:0 -64px;}
9
- .f16 .flag._Commonwealth.semi{background-position:0 -80px;}
10
- .f16 .flag._England.semi{background-position:0 -96px;}
11
- .f16 .flag._European_Union.semi{background-position:0 -112px;}
12
- .f16 .flag._Islamic_Conference.semi{background-position:0 -128px;}
13
- .f16 .flag._Kosovo.semi{background-position:0 -144px;}
14
- .f16 .flag._NATO.semi{background-position:0 -160px;}
15
- .f16 .flag._Northern_Cyprus.semi{background-position:0 -176px;}
16
- .f16 .flag._Northern_Ireland.semi{background-position:0 -192px;}
17
- .f16 .flag._Olympic_Movement.semi{background-position:0 -208px;}
18
- .f16 .flag._OPEC.semi{background-position:0 -224px;}
19
- .f16 .flag._Red_Cross.semi{background-position:0 -240px;}
20
- .f16 .flag._Scotland.semi{background-position:0 -256px;}
21
- .f16 .flag._Somaliland.semi{background-position:0 -272px;}
22
- .f16 .flag._Tibet.semi{background-position:0 -288px;}
23
- .f16 .flag._United_Nations.semi{background-position:0 -304px;}
24
- .f16 .flag._Wales.semi{background-position:0 -320px;}
25
- .f16 .flag.ad.semi{background-position:0 -336px;}
26
- .f16 .flag.ae.semi{background-position:0 -352px;}
27
- .f16 .flag.af.semi{background-position:0 -368px;}
28
- .f16 .flag.ag.semi{background-position:0 -384px;}
29
- .f16 .flag.ai.semi{background-position:0 -400px;}
30
- .f16 .flag.al.semi{background-position:0 -416px;}
31
- .f16 .flag.am.semi{background-position:0 -432px;}
32
- .f16 .flag.an.semi{background-position:0 -448px;}
33
- .f16 .flag.ao.semi{background-position:0 -464px;}
34
- .f16 .flag.aq.semi{background-position:0 -480px;}
35
- .f16 .flag.ar.semi{background-position:0 -496px;}
36
- .f16 .flag.as.semi{background-position:0 -512px;}
37
- .f16 .flag.at.semi{background-position:0 -528px;}
38
- .f16 .flag.au.semi{background-position:0 -544px;}
39
- .f16 .flag.aw.semi{background-position:0 -560px;}
40
- .f16 .flag.az.semi{background-position:0 -576px;}
41
- .f16 .flag.ba.semi{background-position:0 -592px;}
42
- .f16 .flag.bb.semi{background-position:0 -608px;}
43
- .f16 .flag.bd.semi{background-position:0 -624px;}
44
- .f16 .flag.be.semi{background-position:0 -640px;}
45
- .f16 .flag.bf.semi{background-position:0 -656px;}
46
- .f16 .flag.bg.semi{background-position:0 -672px;}
47
- .f16 .flag.bh.semi{background-position:0 -688px;}
48
- .f16 .flag.bi.semi{background-position:0 -704px;}
49
- .f16 .flag.bj.semi{background-position:0 -720px;}
50
- .f16 .flag.bm.semi{background-position:0 -736px;}
51
- .f16 .flag.bn.semi{background-position:0 -752px;}
52
- .f16 .flag.bo.semi{background-position:0 -768px;}
53
- .f16 .flag.br.semi{background-position:0 -784px;}
54
- .f16 .flag.bs.semi{background-position:0 -800px;}
55
- .f16 .flag.bt.semi{background-position:0 -816px;}
56
- .f16 .flag.bw.semi{background-position:0 -832px;}
57
- .f16 .flag.by.semi{background-position:0 -848px;}
58
- .f16 .flag.bz.semi{background-position:0 -864px;}
59
- .f16 .flag.ca.semi{background-position:0 -880px;}
60
- .f16 .flag.cg.semi{background-position:0 -896px;}
61
- .f16 .flag.cf.semi{background-position:0 -912px;}
62
- .f16 .flag.cd.semi{background-position:0 -928px;}
63
- .f16 .flag.ch.semi{background-position:0 -944px;}
64
- .f16 .flag.ci.semi{background-position:0 -960px;}
65
- .f16 .flag.ck.semi{background-position:0 -976px;}
66
- .f16 .flag.cl.semi{background-position:0 -992px;}
67
- .f16 .flag.cm.semi{background-position:0 -1008px;}
68
- .f16 .flag.cn.semi{background-position:0 -1024px;}
69
- .f16 .flag.co.semi{background-position:0 -1040px;}
70
- .f16 .flag.cr.semi{background-position:0 -1056px;}
71
- .f16 .flag.cu.semi{background-position:0 -1072px;}
72
- .f16 .flag.cv.semi{background-position:0 -1088px;}
73
- .f16 .flag.cy.semi{background-position:0 -1104px;}
74
- .f16 .flag.cz.semi{background-position:0 -1120px;}
75
- .f16 .flag.de.semi{background-position:0 -1136px;}
76
- .f16 .flag.dj.semi{background-position:0 -1152px;}
77
- .f16 .flag.dk.semi{background-position:0 -1168px;}
78
- .f16 .flag.dm.semi{background-position:0 -1184px;}
79
- .f16 .flag.do.semi{background-position:0 -1200px;}
80
- .f16 .flag.dz.semi{background-position:0 -1216px;}
81
- .f16 .flag.ec.semi{background-position:0 -1232px;}
82
- .f16 .flag.ee.semi{background-position:0 -1248px;}
83
- .f16 .flag.eg.semi{background-position:0 -1264px;}
84
- .f16 .flag.eh.semi{background-position:0 -1280px;}
85
- .f16 .flag.er.semi{background-position:0 -1296px;}
86
- .f16 .flag.es.semi{background-position:0 -1312px;}
87
- .f16 .flag.et.semi{background-position:0 -1328px;}
88
- .f16 .flag.fi.semi{background-position:0 -1344px;}
89
- .f16 .flag.fj.semi{background-position:0 -1360px;}
90
- .f16 .flag.fm.semi{background-position:0 -1376px;}
91
- .f16 .flag.fo.semi{background-position:0 -1392px;}
92
- .f16 .flag.fr.semi{background-position:0 -1408px;}
93
- .f16 .flag.ga.semi{background-position:0 -1424px;}
94
- .f16 .flag.gb.semi{background-position:0 -1440px;}
95
- .f16 .flag.gd.semi{background-position:0 -1456px;}
96
- .f16 .flag.ge.semi{background-position:0 -1472px;}
97
- .f16 .flag.gg.semi{background-position:0 -1488px;}
98
- .f16 .flag.gh.semi{background-position:0 -1504px;}
99
- .f16 .flag.gi.semi{background-position:0 -1520px;}
100
- .f16 .flag.gl.semi{background-position:0 -1536px;}
101
- .f16 .flag.gm.semi{background-position:0 -1552px;}
102
- .f16 .flag.gn.semi{background-position:0 -1568px;}
103
- .f16 .flag.gp.semi{background-position:0 -1584px;}
104
- .f16 .flag.gq.semi{background-position:0 -1600px;}
105
- .f16 .flag.gr.semi{background-position:0 -1616px;}
106
- .f16 .flag.gt.semi{background-position:0 -1632px;}
107
- .f16 .flag.gu.semi{background-position:0 -1648px;}
108
- .f16 .flag.gw.semi{background-position:0 -1664px;}
109
- .f16 .flag.gy.semi{background-position:0 -1680px;}
110
- .f16 .flag.hk.semi{background-position:0 -1696px;}
111
- .f16 .flag.hn.semi{background-position:0 -1712px;}
112
- .f16 .flag.hr.semi{background-position:0 -1728px;}
113
- .f16 .flag.ht.semi{background-position:0 -1744px;}
114
- .f16 .flag.hu.semi{background-position:0 -1760px;}
115
- .f16 .flag.id.semi{background-position:0 -1776px;}
116
- .f16 .flag.mc.semi{background-position:0 -1776px;}
117
- .f16 .flag.ie.semi{background-position:0 -1792px;}
118
- .f16 .flag.il.semi{background-position:0 -1808px;}
119
- .f16 .flag.im.semi{background-position:0 -1824px;}
120
- .f16 .flag.in.semi{background-position:0 -1840px;}
121
- .f16 .flag.iq.semi{background-position:0 -1856px;}
122
- .f16 .flag.ir.semi{background-position:0 -1872px;}
123
- .f16 .flag.is.semi{background-position:0 -1888px;}
124
- .f16 .flag.it.semi{background-position:0 -1904px;}
125
- .f16 .flag.je.semi{background-position:0 -1920px;}
126
- .f16 .flag.jm.semi{background-position:0 -1936px;}
127
- .f16 .flag.jo.semi{background-position:0 -1952px;}
128
- .f16 .flag.jp.semi{background-position:0 -1968px;}
129
- .f16 .flag.ke.semi{background-position:0 -1984px;}
130
- .f16 .flag.kg.semi{background-position:0 -2000px;}
131
- .f16 .flag.kh.semi{background-position:0 -2016px;}
132
- .f16 .flag.ki.semi{background-position:0 -2032px;}
133
- .f16 .flag.km.semi{background-position:0 -2048px;}
134
- .f16 .flag.kn.semi{background-position:0 -2064px;}
135
- .f16 .flag.kp.semi{background-position:0 -2080px;}
136
- .f16 .flag.kr.semi{background-position:0 -2096px;}
137
- .f16 .flag.kw.semi{background-position:0 -2112px;}
138
- .f16 .flag.ky.semi{background-position:0 -2128px;}
139
- .f16 .flag.kz.semi{background-position:0 -2144px;}
140
- .f16 .flag.la.semi{background-position:0 -2160px;}
141
- .f16 .flag.lb.semi{background-position:0 -2176px;}
142
- .f16 .flag.lc.semi{background-position:0 -2192px;}
143
- .f16 .flag.li.semi{background-position:0 -2208px;}
144
- .f16 .flag.lk.semi{background-position:0 -2224px;}
145
- .f16 .flag.lr.semi{background-position:0 -2240px;}
146
- .f16 .flag.ls.semi{background-position:0 -2256px;}
147
- .f16 .flag.lt.semi{background-position:0 -2272px;}
148
- .f16 .flag.lu.semi{background-position:0 -2288px;}
149
- .f16 .flag.lv.semi{background-position:0 -2304px;}
150
- .f16 .flag.ly.semi{background-position:0 -2320px;}
151
- .f16 .flag.ma.semi{background-position:0 -2336px;}
152
- .f16 .flag.md.semi{background-position:0 -2352px;}
153
- .f16 .flag.me.semi{background-position:0 -2368px;}
154
- .f16 .flag.mg.semi{background-position:0 -2384px;}
155
- .f16 .flag.mh.semi{background-position:0 -2400px;}
156
- .f16 .flag.mk.semi{background-position:0 -2416px;}
157
- .f16 .flag.ml.semi{background-position:0 -2432px;}
158
- .f16 .flag.mm.semi{background-position:0 -2448px;}
159
- .f16 .flag.mn.semi{background-position:0 -2464px;}
160
- .f16 .flag.mo.semi{background-position:0 -2480px;}
161
- .f16 .flag.mq.semi{background-position:0 -2496px;}
162
- .f16 .flag.mr.semi{background-position:0 -2512px;}
163
- .f16 .flag.ms.semi{background-position:0 -2528px;}
164
- .f16 .flag.mt.semi{background-position:0 -2544px;}
165
- .f16 .flag.mu.semi{background-position:0 -2560px;}
166
- .f16 .flag.mv.semi{background-position:0 -2576px;}
167
- .f16 .flag.mw.semi{background-position:0 -2592px;}
168
- .f16 .flag.mx.semi{background-position:0 -2608px;}
169
- .f16 .flag.my.semi{background-position:0 -2624px;}
170
- .f16 .flag.mz.semi{background-position:0 -2640px;}
171
- .f16 .flag.na.semi{background-position:0 -2656px;}
172
- .f16 .flag.nc.semi{background-position:0 -2672px;}
173
- .f16 .flag.ne.semi{background-position:0 -2688px;}
174
- .f16 .flag.ng.semi{background-position:0 -2704px;}
175
- .f16 .flag.ni.semi{background-position:0 -2720px;}
176
- .f16 .flag.nl.semi{background-position:0 -2736px;}
177
- .f16 .flag.no.semi{background-position:0 -2752px;}
178
- .f16 .flag.np.semi{background-position:0 -2768px;}
179
- .f16 .flag.nr.semi{background-position:0 -2784px;}
180
- .f16 .flag.nz.semi{background-position:0 -2800px;}
181
- .f16 .flag.om.semi{background-position:0 -2816px;}
182
- .f16 .flag.pa.semi{background-position:0 -2832px;}
183
- .f16 .flag.pe.semi{background-position:0 -2848px;}
184
- .f16 .flag.pf.semi{background-position:0 -2864px;}
185
- .f16 .flag.pg.semi{background-position:0 -2880px;}
186
- .f16 .flag.ph.semi{background-position:0 -2896px;}
187
- .f16 .flag.pk.semi{background-position:0 -2912px;}
188
- .f16 .flag.pl.semi{background-position:0 -2928px;}
189
- .f16 .flag.pr.semi{background-position:0 -2944px;}
190
- .f16 .flag.ps.semi{background-position:0 -2960px;}
191
- .f16 .flag.pt.semi{background-position:0 -2976px;}
192
- .f16 .flag.pw.semi{background-position:0 -2992px;}
193
- .f16 .flag.py.semi{background-position:0 -3008px;}
194
- .f16 .flag.qa.semi{background-position:0 -3024px;}
195
- .f16 .flag.re.semi{background-position:0 -3040px;}
196
- .f16 .flag.ro.semi{background-position:0 -3056px;}
197
- .f16 .flag.rs.semi{background-position:0 -3072px;}
198
- .f16 .flag.ru.semi{background-position:0 -3088px;}
199
- .f16 .flag.rw.semi{background-position:0 -3104px;}
200
- .f16 .flag.sa.semi{background-position:0 -3120px;}
201
- .f16 .flag.sb.semi{background-position:0 -3136px;}
202
- .f16 .flag.sc.semi{background-position:0 -3152px;}
203
- .f16 .flag.sd.semi{background-position:0 -3168px;}
204
- .f16 .flag.se.semi{background-position:0 -3184px;}
205
- .f16 .flag.sg.semi{background-position:0 -3200px;}
206
- .f16 .flag.si.semi{background-position:0 -3216px;}
207
- .f16 .flag.sk.semi{background-position:0 -3232px;}
208
- .f16 .flag.sl.semi{background-position:0 -3248px;}
209
- .f16 .flag.sm.semi{background-position:0 -3264px;}
210
- .f16 .flag.sn.semi{background-position:0 -3280px;}
211
- .f16 .flag.so.semi{background-position:0 -3296px;}
212
- .f16 .flag.sr.semi{background-position:0 -3312px;}
213
- .f16 .flag.st.semi{background-position:0 -3328px;}
214
- .f16 .flag.sv.semi{background-position:0 -3344px;}
215
- .f16 .flag.sy.semi{background-position:0 -3360px;}
216
- .f16 .flag.sz.semi{background-position:0 -3376px;}
217
- .f16 .flag.tc.semi{background-position:0 -3392px;}
218
- .f16 .flag.td.semi{background-position:0 -3408px;}
219
- .f16 .flag.tg.semi{background-position:0 -3424px;}
220
- .f16 .flag.th.semi{background-position:0 -3440px;}
221
- .f16 .flag.tj.semi{background-position:0 -3456px;}
222
- .f16 .flag.tl.semi{background-position:0 -3472px;}
223
- .f16 .flag.tm.semi{background-position:0 -3488px;}
224
- .f16 .flag.tn.semi{background-position:0 -3504px;}
225
- .f16 .flag.to.semi{background-position:0 -3520px;}
226
- .f16 .flag.tr.semi{background-position:0 -3536px;}
227
- .f16 .flag.tt.semi{background-position:0 -3552px;}
228
- .f16 .flag.tv.semi{background-position:0 -3568px;}
229
- .f16 .flag.tw.semi{background-position:0 -3584px;}
230
- .f16 .flag.tz.semi{background-position:0 -3600px;}
231
- .f16 .flag.ua.semi{background-position:0 -3616px;}
232
- .f16 .flag.ug.semi{background-position:0 -3632px;}
233
- .f16 .flag.us.semi{background-position:0 -3648px;}
234
- .f16 .flag.uy.semi{background-position:0 -3664px;}
235
- .f16 .flag.uz.semi{background-position:0 -3680px;}
236
- .f16 .flag.va.semi{background-position:0 -3696px;}
237
- .f16 .flag.vc.semi{background-position:0 -3712px;}
238
- .f16 .flag.ve.semi{background-position:0 -3728px;}
239
- .f16 .flag.vg.semi{background-position:0 -3744px;}
240
- .f16 .flag.vi.semi{background-position:0 -3760px;}
241
- .f16 .flag.vn.semi{background-position:0 -3776px;}
242
- .f16 .flag.vu.semi{background-position:0 -3792px;}
243
- .f16 .flag.ws.semi{background-position:0 -3808px;}
244
- .f16 .flag.ye.semi{background-position:0 -3824px;}
245
- .f16 .flag.za.semi{background-position:0 -3840px;}
246
- .f16 .flag.zm.semi{background-position:0 -3856px;}
247
- .f16 .flag.zw.semi{background-position:0 -3872px;}