<h1>ISO-3166-1α2 Country codes</h1>
<:
-my $cc = do 'data/countries.inc.pl';
+my $cc = Data('data/countries');
{
- printf '<table class="mcmap">';
+ printf '<table class="ccmap">';
print '<col><colgroup span="26">';
for my $section (qw{thead}) {
print "<$section><tr><th>↳";
}
$cell = showflag($code) // join(' ',
- map { showflag($_) || $_ } split / /, $ref
+ map { showflag($_) || $_ } split(/ /, $ref)
);
}
else {
</div>
</div>
+<: exit unless exists $get{v}; :>
+<script type="text/javascript"><!--
+ const table = document.querySelector('.ccmap');
+ const label = Array.prototype.map.call(table.tHead.rows[0].children, i => i.textContent);
+ const flagchr = 0x1F1E5; // regional indicator symbol letter base
+ let nowidth;
+ for (let row = 0; row < label.length; row++) {
+ for (let col = 0; col < label.length; col++) {
+ let cell = table.rows[row].cells[col];
+ if (!cell.className) continue;
+ let flag = String.fromCodePoint(flagchr + row) + String.fromCodePoint(flagchr + col);
+ cell.innerHTML = `<big>${flag}</big> ` + cell.innerHTML;
+ if (nowidth === undefined) {
+ // assume AA is invalid, compare its size to validate following glyphs
+ nowidth = cell.firstChild.offsetWidth;
+ }
+ if (cell.firstChild.offsetWidth == nowidth) {
+ cell.firstChild.remove();
+ }
+ }
+ }
+//--></script>
+