cldr2def: Pad CJK short months
authorJohn Marino <draco@marino.st>
Sun, 8 Nov 2015 16:47:44 +0000 (17:47 +0100)
committerJohn Marino <draco@marino.st>
Sun, 8 Nov 2015 16:51:53 +0000 (17:51 +0100)
Since 2001, FreeBSD has padded the first 9 abbreviated month names
with a space for the CJK locales.  This allows them to line up.
This alternation will return the padding to avoid a regression
for users (and avoid having to hand-edit the source files)

14 files changed:
share/timedef/ja_JP.SJIS.src
share/timedef/ja_JP.UTF-8.src
share/timedef/ja_JP.eucJP.src
share/timedef/ko_KR.UTF-8.src
share/timedef/ko_KR.eucKR.src
share/timedef/zh_Hans_CN.GB2312.src
share/timedef/zh_Hans_CN.GBK.src
share/timedef/zh_Hans_CN.UTF-8.src
share/timedef/zh_Hans_CN.eucCN.src
share/timedef/zh_Hant_HK.Big5HKSCS.src
share/timedef/zh_Hant_HK.UTF-8.src
share/timedef/zh_Hant_TW.Big5.src
share/timedef/zh_Hant_TW.UTF-8.src
tools/tools/locale/tools/cldr2def.pl

index 7a9030b..3c96a37 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-1\8c\8e
-2\8c\8e
-3\8c\8e
-4\8c\8e
-5\8c\8e
-6\8c\8e
-7\8c\8e
-8\8c\8e
-9\8c\8e
+ 1\8c\8e
+ 2\8c\8e
+ 3\8c\8e
+ 4\8c\8e
+ 5\8c\8e
+ 6\8c\8e
+ 7\8c\8e
+ 8\8c\8e
+ 9\8c\8e
 10\8c\8e
 11\8c\8e
 12\8c\8e
index f713bbb..ea2fcbe 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-1月
-2月
-3月
-4月
-5月
-6月
-7月
-8月
-9月
+ 1月
+ 2月
+ 3月
+ 4月
+ 5月
+ 6月
+ 7月
+ 8月
+ 9月
 10月
 11月
 12月
index 9b527aa..f98c832 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-1·î
-2·î
-3·î
-4·î
-5·î
-6·î
-7·î
-8·î
-9·î
+ 1·î
+ 2·î
+ 3·î
+ 4·î
+ 5·î
+ 6·î
+ 7·î
+ 8·î
+ 9·î
 10·î
 11·î
 12·î
index 30da57e..cce1aa7 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-1월
-2월
-3월
-4월
-5월
-6월
-7월
-8월
-9월
+ 1월
+ 2월
+ 3월
+ 4월
+ 5월
+ 6월
+ 7월
+ 8월
+ 9월
 10월
 11월
 12월
index 71ddca5..c72ae4b 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-1¿ù
-2¿ù
-3¿ù
-4¿ù
-5¿ù
-6¿ù
-7¿ù
-8¿ù
-9¿ù
+ 1¿ù
+ 2¿ù
+ 3¿ù
+ 4¿ù
+ 5¿ù
+ 6¿ù
+ 7¿ù
+ 8¿ù
+ 9¿ù
 10¿ù
 11¿ù
 12¿ù
index 89f2ee6..8fb3026 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-#1TB
-#2TB
-#3TB
-#4TB
-#5TB
-#6TB
-#7TB
-#8TB
-#9TB
+!!#1TB
+!!#2TB
+!!#3TB
+!!#4TB
+!!#5TB
+!!#6TB
+!!#7TB
+!!#8TB
+!!#9TB
 #1#0TB
 #1#1TB
 #1#2TB
index 02f30f3..af4552b 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-1ÔÂ
-2ÔÂ
-3ÔÂ
-4ÔÂ
-5ÔÂ
-6ÔÂ
-7ÔÂ
-8ÔÂ
-9ÔÂ
+ 1ÔÂ
+ 2ÔÂ
+ 3ÔÂ
+ 4ÔÂ
+ 5ÔÂ
+ 6ÔÂ
+ 7ÔÂ
+ 8ÔÂ
+ 9ÔÂ
 10ÔÂ
 11ÔÂ
 12ÔÂ
index 1d56b00..2b54f71 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-1月
-2月
-3月
-4月
-5月
-6月
-7月
-8月
-9月
+ 1月
+ 2月
+ 3月
+ 4月
+ 5月
+ 6月
+ 7月
+ 8月
+ 9月
 10月
 11月
 12月
index c2be941..39884d3 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-£±ÔÂ
-£²ÔÂ
-£³ÔÂ
-£´ÔÂ
-£µÔÂ
-£¶ÔÂ
-£·ÔÂ
-£¸ÔÂ
-£¹ÔÂ
+¡¡£±ÔÂ
+¡¡£²ÔÂ
+¡¡£³ÔÂ
+¡¡£´ÔÂ
+¡¡£µÔÂ
+¡¡£¶ÔÂ
+¡¡£·ÔÂ
+¡¡£¸ÔÂ
+¡¡£¹ÔÂ
 £±£°ÔÂ
 £±£±ÔÂ
 £±£²ÔÂ
index f280f23..af4ce1e 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-1¤ë
-2¤ë
-3¤ë
-4¤ë
-5¤ë
-6¤ë
-7¤ë
-8¤ë
-9¤ë
+ 1¤ë
+ 2¤ë
+ 3¤ë
+ 4¤ë
+ 5¤ë
+ 6¤ë
+ 7¤ë
+ 8¤ë
+ 9¤ë
 10¤ë
 11¤ë
 12¤ë
index 0200c96..9fa990c 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-1月
-2月
-3月
-4月
-5月
-6月
-7月
-8月
-9月
+ 1月
+ 2月
+ 3月
+ 4月
+ 5月
+ 6月
+ 7月
+ 8月
+ 9月
 10月
 11月
 12月
index 650dce7..7f19a1f 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-¢°¤ë
-¢±¤ë
-¢²¤ë
-¢³¤ë
-¢´¤ë
-¢µ¤ë
-¢¶¤ë
-¢·¤ë
-¢¸¤ë
+¡@¢°¤ë
+¡@¢±¤ë
+¡@¢²¤ë
+¡@¢³¤ë
+¡@¢´¤ë
+¡@¢µ¤ë
+¡@¢¶¤ë
+¡@¢·¤ë
+¡@¢¸¤ë
 ¢°¢¯¤ë
 ¢°¢°¤ë
 ¢°¢±¤ë
index 973ee17..654df5b 100644 (file)
@@ -4,15 +4,15 @@
 # -----------------------------------------------------------------------------
 #
 # Short month names
-1月
-2月
-3月
-4月
-5月
-6月
-7月
-8月
-9月
+ 1月
+ 2月
+ 3月
+ 4月
+ 5月
+ 6月
+ 7月
+ 8月
+ 9月
 10月
 11月
 12月
index c2d59ce..2924dc3 100644 (file)
@@ -66,6 +66,7 @@ my %callback = (
        mdorder => \&callback_mdorder,
        altmon => \&callback_altmon,
        cformat => \&callback_cformat,
+       cbabmon => \&callback_abmon,
        data => undef,
 );
 
@@ -173,7 +174,7 @@ if ($TYPE eq "msgdef") {
 
 if ($TYPE eq "timedef") {
        %keys = (
-           "abmon"             => "as",
+           "abmon"             => "<cbabmon<abmon<as",
            "mon"               => "as",
            "abday"             => "as",
            "day"               => "as",
@@ -226,6 +227,30 @@ sub callback_altmon {
        return $s;
 }
 
+sub callback_abmon {
+       # for specified CJK locales, pad result with a space to enable
+       # columns to line up (style established in FreeBSD in 2001)
+       my $s = shift;
+       my $nl = $callback{data}{l} . "_" . $callback{data}{c};
+
+       if ($nl eq 'ja_JP' || $nl eq 'ko_KR' || $nl eq 'zh_CN' ||
+           $nl eq 'zh_HK' || $nl eq 'zh_TW') {
+               my @monthnames = split(";", $s);
+               my @cleaned;
+               foreach (@monthnames)
+               {
+                       if ($_ =~ /^"<(two|three|four|five|six|seven|eight|nine)>/ ||
+                          ($_ =~ /^"<one>/ && $_ !~ /^"<one>(<zero>|<one>|<two>)/))
+                       {
+                               $_ =~ s/^"/"<space>/;
+                       }
+                       push @cleaned, $_;
+               }
+               return join(";",@cleaned);
+       }
+       return $s;
+}
+
 ############################
 
 sub get_unidata {