Kaynağa Gözat

[ZF-6698] Zend_Locale:

- added support for character fallback

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@15686 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 yıl önce
ebeveyn
işleme
f32e742366

+ 28 - 0
documentation/manual/en/module_specs/Zend_Locale-Functions.xml

@@ -576,6 +576,20 @@ print Zend_Locale::getTranslation('de', 'language', 'zh');
                             script
                         </entry>
                     </row>
+                    <row>
+                        <entry><emphasis>FallbackToChar</emphasis></entry>
+                        <entry>
+                            Returns a list of replacement characters for often used unicode characters.
+                            This can be used to replace "©" with "(C)" for example
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><emphasis>CharToFallback</emphasis></entry>
+                        <entry>
+                            Returns a list of unicode characters for often used replacement characters.
+                            This can be used to replace "(C)" with "©" for example
+                        </entry>
+                    </row>
                 </tbody>
             </tgroup>
         </table>
@@ -959,6 +973,20 @@ print Zend_Locale::getTranslation('de', 'language', 'zh');
                             Returns a scripts with the notation for digits used within this script
                         </entry>
                     </row>
+                    <row>
+                        <entry><emphasis>FallbackToChar</emphasis></entry>
+                        <entry>
+                            Returns a replacement character for a often used unicode character.
+                            This can be used to replace "©" with "(C)" for example
+                        </entry>
+                    </row>
+                    <row>
+                        <entry><emphasis>CharToFallback</emphasis></entry>
+                        <entry>
+                            Returns a unicode character for a often used replacement character.
+                            This can be used to replace "(C)" with "©" for example
+                        </entry>
+                    </row>
                 </tbody>
             </tgroup>
         </table>

+ 32 - 0
library/Zend/Locale/Data.php

@@ -825,6 +825,21 @@ class Zend_Locale_Data
                 }
                 break;
 
+            case 'chartofallback':
+                $_temp = self::_getFile('characters', '/supplementalData/characters/character-fallback/character', 'value');
+                foreach ($_temp as $key => $keyvalue) {
+                    $temp2 = self::_getFile('characters', '/supplementalData/characters/character-fallback/character[@value=\'' . $key . '\']/substitute', '', $key);
+                    $temp[current($temp2)] = $key;
+                }
+                break;
+
+            case 'fallbacktochar':
+                $_temp = self::_getFile('characters', '/supplementalData/characters/character-fallback/character', 'value');
+                foreach ($_temp as $key => $keyvalue) {
+                    $temp += self::_getFile('characters', '/supplementalData/characters/character-fallback/character[@value=\'' . $key . '\']/substitute', '', $key);
+                }
+                break;
+
             default :
                 require_once 'Zend/Locale/Exception.php';
                 throw new Zend_Locale_Exception("Unknown list ($path) for parsing locale data.");
@@ -1270,6 +1285,23 @@ class Zend_Locale_Data
                 $temp = self::_getFile('numberingSystems', '/supplementalData/numberingSystems/numberingSystem[@id=\'' . strtolower($value) . '\']', 'digits', $value);
                 break;
 
+            case 'chartofallback':
+                $_temp = self::_getFile('characters', '/supplementalData/characters/character-fallback/character', 'value');
+                foreach ($_temp as $key => $keyvalue) {
+                    $temp2 = self::_getFile('characters', '/supplementalData/characters/character-fallback/character[@value=\'' . $key . '\']/substitute', '', $key);
+                    if (current($temp2) == $value) {
+                        $temp = $key;
+                    }
+                }
+                break;
+
+                $temp = self::_getFile('characters', '/supplementalData/characters/character-fallback/character[@value=\'' . $value . '\']/substitute', '', $value);
+                break;
+
+            case 'fallbacktochar':
+                $temp = self::_getFile('characters', '/supplementalData/characters/character-fallback/character[@value=\'' . $value . '\']/substitute', '');
+                break;
+
             default :
                 require_once 'Zend/Locale/Exception.php';
                 throw new Zend_Locale_Exception("Unknown detail ($path) for parsing locale data.");

+ 477 - 486
library/Zend/Locale/Data/characters.xml

@@ -2,490 +2,481 @@
 <!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd">
 
 <supplementalData>
-	<version number="$Revision: 1.19 $"/>
-	<generation date="$Date: 2009/05/05 23:15:57 $"/>
-	<characters>
-		<character-fallback>
-			<character value = "©">
-				<substitute>(C)</substitute>
-			</character>
-			<character value = "«">
-				<substitute>&lt;&lt;</substitute>
-			</character>
-			<character value = "­">
-				<substitute>-</substitute>
-			</character>
-			<character value = "®">
-				<substitute>(R)</substitute>
-			</character>
-			<character value = "»">
-				<substitute>&gt;&gt;</substitute>
-			</character>
-			<character value = "¼">
-				<substitute> 1/4</substitute>
-			</character>
-			<character value = "½">
-				<substitute> 1/2</substitute>
-			</character>
-			<character value = "¾">
-				<substitute> 3/4</substitute>
-			</character>
-			<character value = "Æ">
-				<substitute>AE</substitute>
-			</character>
-			<character value = "ß">
-				<substitute>ss</substitute>
-			</character>
-			<character value = "æ">
-				<substitute>ae</substitute>
-			</character>
-			<character value = "ʼn">
-				<substitute>&apos;n</substitute>
-			</character>
-			<character value = "Œ">
-				<substitute>OE</substitute>
-			</character>
-			<character value = "œ">
-				<substitute>oe</substitute>
-			</character>
-			<character value = "Ș">
-				<substitute>Ş</substitute>
-			</character>
-			<character value = "ș">
-				<substitute>ş</substitute>
-			</character>
-			<character value = "Ț">
-				<substitute>Ţ</substitute>
-			</character>
-			<character value = "ț">
-				<substitute>ţ</substitute>
-			</character>
-			<character value="־">
-				<substitute>‐</substitute>
-				<substitute>-</substitute>
-			</character>
-			<character value="׳">
-				<substitute>&apos;</substitute>
-			</character>
-			<character value="״">
-				<substitute>&quot;</substitute>
-			</character>
-			<character value = "٫">
-				<substitute>,</substitute>
-			</character>
-			<character value = "٬">
-				<substitute>&apos;</substitute>
-			</character>
-			<character value = "‐">
-				<substitute>-</substitute>
-			</character>
-			<character value = "‑">
-				<substitute>-</substitute>
-			</character>
-			<character value = "‒">
-				<substitute>-</substitute>
-			</character>
-			<character value = "–">
-				<substitute>-</substitute>
-			</character>
-			<character value = "—">
-				<substitute>-</substitute>
-			</character>
-			<character value = "―">
-				<substitute>—</substitute>
-				<substitute>-</substitute>
-			</character>
-			<character value = "‘">
-				<substitute>&apos;</substitute>
-			</character>
-			<character value = "’">
-				<substitute>&apos;</substitute>
-			</character>
-			<character value = "‚">
-				<substitute>,</substitute>
-			</character>
-			<character value = "‛">
-				<substitute>&apos;</substitute>
-			</character>
-			<character value = "“">
-				<substitute>&quot;</substitute>
-			</character>
-			<character value = "”">
-				<substitute>&quot;</substitute>
-			</character>
-			<character value = "„">
-				<substitute>,,</substitute>
-			</character>
-			<character value = "‟">
-				<substitute>&quot;</substitute>
-			</character>
-			<character value = "•">
-				<substitute>·</substitute>
-			</character>
-			<character value = "‧">
-				<substitute>·</substitute>
-			</character>
-			<character value = "⁄">
-				<substitute>/</substitute>
-			</character>
-			<character value = "₠">
-				<substitute>CE</substitute>
-			</character>
-			<character value = "₡">
-				<substitute>CRC</substitute>
-			</character>
-			<character value = "₵">
-				<substitute>¢</substitute>
-			</character>
-			<character value = "₢">
-				<substitute>Cr</substitute>
-			</character>
-			<character value = "₣">
-				<substitute>Fr.</substitute>
-			</character>
-			<character value = "₤">
-				<substitute>L.</substitute>
-				<substitute>£</substitute>
-			</character>
-			<character value = "₦">
-				<substitute>NGN</substitute>
-			</character>
-			<character value = "₧">
-				<substitute>Pts</substitute>
-			</character>
-			<character value = "₩">
-				<substitute>KRW</substitute>
-			</character>
-			<character value = "₪">
-				<substitute>שח</substitute>
-				<substitute>ILS</substitute>
-			</character>
-			<character value = "₫">
-				<substitute>đ</substitute>
-				<substitute>VND</substitute>
-			</character>
-			<character value = "€">
-				<substitute>EUR</substitute>
-			</character>
-			<character value = "₭">
-				<substitute>LAK</substitute>
-			</character>
-			<character value = "₮">
-				<substitute>MNT</substitute>
-			</character>
-			<character value = "₯">
-				<substitute>GRD</substitute>
-			</character>
-			<character value = "₱">
-				<substitute>PHP</substitute>
-			</character>
-			<character value = "₲">
-				<substitute>PYG</substitute>
-			</character>
-			<character value = "₵">
-				<substitute>Ȼ</substitute>
-				<substitute>GHS</substitute>
-			</character>
-			<character value = "℞">
-				<substitute>Rx</substitute>
-			</character>
-			<character value = "⅓">
-				<substitute> 1/3</substitute>
-			</character>
-			<character value = "⅔">
-				<substitute> 2/3</substitute>
-			</character>
-			<character value = "⅕">
-				<substitute> 1/5</substitute>
-			</character>
-			<character value = "⅖">
-				<substitute> 2/5</substitute>
-			</character>
-			<character value = "⅗">
-				<substitute> 3/5</substitute>
-			</character>
-			<character value = "⅘">
-				<substitute> 4/5</substitute>
-			</character>
-			<character value = "⅙">
-				<substitute> 1/6</substitute>
-			</character>
-			<character value = "⅚">
-				<substitute> 5/6</substitute>
-			</character>
-			<character value = "⅛">
-				<substitute> 1/8</substitute>
-			</character>
-			<character value = "⅜">
-				<substitute> 3/8</substitute>
-			</character>
-			<character value = "⅝">
-				<substitute> 5/8</substitute>
-			</character>
-			<character value = "⅞">
-				<substitute> 7/8</substitute>
-			</character>
-			<character value = "⅟">
-				<substitute> 1/</substitute>
-			</character>
-			<character value = "∏">
-				<substitute>Π</substitute>
-			</character>
-			<character value = "∑">
-				<substitute>Σ</substitute>
-			</character>
-			<character value = "−">
-				<substitute>-</substitute>
-			</character>
-			<character value = "∕">
-				<substitute>/</substitute>
-			</character>
-			<character value = "∖">
-				<substitute>\</substitute>
-			</character>
-			<character value = "∣">
-				<substitute>|</substitute>
-			</character>
-			<character value = "∥">
-				<substitute>‖</substitute>
-				<substitute>||</substitute>
-			</character>
-			<character value = " ">
-				<substitute>  </substitute>
-			</character>
-			<character value = "㍸">
-				<substitute>dm²</substitute>
-			</character>
-			<character value = "㍹">
-				<substitute>dm³</substitute>
-			</character>
-			<character value = "㎟">
-				<substitute>mm²</substitute>
-			</character>
-			<character value = "㎠">
-				<substitute>cm²</substitute>
-			</character>
-			<character value = "㎡">
-				<substitute>m²</substitute>
-			</character>
-			<character value = "㎢">
-				<substitute>km²</substitute>
-			</character>
-			<character value = "㎣">
-				<substitute>mm³</substitute>
-			</character>
-			<character value = "㎤">
-				<substitute>cm³</substitute>
-			</character>
-			<character value = "㎥">
-				<substitute>m³</substitute>
-			</character>
-			<character value = "㎦">
-				<substitute>km³</substitute>
-			</character>
-			<character value = "㎧">
-				<substitute>m/s</substitute>
-			</character>
-			<character value = "㎨">
-				<substitute>m∕s²</substitute>
-				<substitute>m/s²</substitute>
-			</character>
-			<character value = "㎮">
-				<substitute>rad/s</substitute>
-			</character>
-			<character value = "㎯">
-				<substitute>rad∕s²</substitute>
-				<substitute>rad/s²</substitute>
-			</character>
-			<character value = "㏄">
-				<substitute>CC</substitute>
-			</character>
-			<character value = "㏆">
-				<substitute>C/kg</substitute>
-			</character>
-			<character value = "㏗">
-				<substitute>pH</substitute>
-			</character>
-			<character value = "㏞">
-				<substitute>V/m</substitute>
-			</character>
-			<character value = "㏟">
-				<substitute>A/m</substitute>
-			</character>
-			<character value = "ſt">
-				<substitute>ſt</substitute>
-			</character>
-			<character value = "⦅">
-				<substitute>((</substitute>
-			</character>
-			<character value = "⦆">
-				<substitute>))</substitute>
-			</character>
-			<character value = "゙">
-				<substitute>゛</substitute>
-			</character>
-			<character value = "゚">
-				<substitute>゜</substitute>
-			</character>
-			<character value = "ᅠ">
-				<substitute>ㅤ</substitute>
-			</character>
-			<character value = "ᄀ">
-				<substitute>ㄱ</substitute>
-			</character>
-			<character value = "ᄁ">
-				<substitute>ㄲ</substitute>
-			</character>
-			<character value = "ᆪ">
-				<substitute>ㄳ</substitute>
-			</character>
-			<character value = "ᄂ">
-				<substitute>ㄴ</substitute>
-			</character>
-			<character value = "ᆬ">
-				<substitute>ㄵ</substitute>
-			</character>
-			<character value = "ᆭ">
-				<substitute>ㄶ</substitute>
-			</character>
-			<character value = "ᄃ">
-				<substitute>ㄷ</substitute>
-			</character>
-			<character value = "ᄄ">
-				<substitute>ㄸ</substitute>
-			</character>
-			<character value = "ᄅ">
-				<substitute>ㄹ</substitute>
-			</character>
-			<character value = "ᆰ">
-				<substitute>ㄺ</substitute>
-			</character>
-			<character value = "ᆱ">
-				<substitute>ㄻ</substitute>
-			</character>
-			<character value = "ᆲ">
-				<substitute>ㄼ</substitute>
-			</character>
-			<character value = "ᆳ">
-				<substitute>ㄽ</substitute>
-			</character>
-			<character value = "ᆴ">
-				<substitute>ㄾ</substitute>
-			</character>
-			<character value = "ᆵ">
-				<substitute>ㄿ</substitute>
-			</character>
-			<character value = "ᄚ">
-				<substitute>ㅀ</substitute>
-			</character>
-			<character value = "ᄆ">
-				<substitute>ㅁ</substitute>
-			</character>
-			<character value = "ᄇ">
-				<substitute>ㅂ</substitute>
-			</character>
-			<character value = "ᄈ">
-				<substitute>ㅃ</substitute>
-			</character>
-			<character value = "ᄡ">
-				<substitute>ㅄ</substitute>
-			</character>
-			<character value = "ᄉ">
-				<substitute>ㅅ</substitute>
-			</character>
-			<character value = "ᄊ">
-				<substitute>ㅆ</substitute>
-			</character>
-			<character value = "ᄋ">
-				<substitute>ㅇ</substitute>
-			</character>
-			<character value = "ᄌ">
-				<substitute>ㅈ</substitute>
-			</character>
-			<character value = "ᄍ">
-				<substitute>ㅉ</substitute>
-			</character>
-			<character value = "ᄎ">
-				<substitute>ㅊ</substitute>
-			</character>
-			<character value = "ᄏ">
-				<substitute>ㅋ</substitute>
-			</character>
-			<character value = "ᄐ">
-				<substitute>ㅌ</substitute>
-			</character>
-			<character value = "ᄑ">
-				<substitute>ㅍ</substitute>
-			</character>
-			<character value = "ᄒ">
-				<substitute>ㅎ</substitute>
-			</character>
-			<character value = "ᅡ">
-				<substitute>ㅏ</substitute>
-			</character>
-			<character value = "ᅢ">
-				<substitute>ㅐ</substitute>
-			</character>
-			<character value = "ᅣ">
-				<substitute>ㅑ</substitute>
-			</character>
-			<character value = "ᅤ">
-				<substitute>ㅒ</substitute>
-			</character>
-			<character value = "ᅥ">
-				<substitute>ㅓ</substitute>
-			</character>
-			<character value = "ᅦ">
-				<substitute>ㅔ</substitute>
-			</character>
-			<character value = "ᅧ">
-				<substitute>ㅕ</substitute>
-			</character>
-			<character value = "ᅨ">
-				<substitute>ㅖ</substitute>
-			</character>
-			<character value = "ᅩ">
-				<substitute>ㅗ</substitute>
-			</character>
-			<character value = "ᅪ">
-				<substitute>ㅘ</substitute>
-			</character>
-			<character value = "ᅫ">
-				<substitute>ㅙ</substitute>
-			</character>
-			<character value = "ᅬ">
-				<substitute>ㅚ</substitute>
-			</character>
-			<character value = "ᅭ">
-				<substitute>ㅛ</substitute>
-			</character>
-			<character value = "ᅮ">
-				<substitute>ㅜ</substitute>
-			</character>
-			<character value = "ᅯ">
-				<substitute>ㅝ</substitute>
-			</character>
-			<character value = "ᅰ">
-				<substitute>ㅞ</substitute>
-			</character>
-			<character value = "ᅱ">
-				<substitute>ㅟ</substitute>
-			</character>
-			<character value = "ᅲ">
-				<substitute>ㅠ</substitute>
-			</character>
-			<character value = "ᅳ">
-				<substitute>ㅡ</substitute>
-			</character>
-			<character value = "ᅴ">
-				<substitute>ㅢ</substitute>
-			</character>
-			<character value = "ᅵ">
-				<substitute>ㅣ</substitute>
-			</character>
-			<character value = " ̄">
-				<substitute>¯</substitute>
-			</character>
-		</character-fallback> 
-	</characters>
+    <version number="$Revision: 1.19 $"/>
+    <generation date="$Date: 2009/05/05 23:15:57 $"/>
+    <characters>
+        <character-fallback>
+            <character value = "©">
+                <substitute>(C)</substitute>
+            </character>
+            <character value = "«">
+                <substitute>&lt;&lt;</substitute>
+            </character>
+            <character value = "­">
+                <substitute>-</substitute>
+            </character>
+            <character value = "®">
+                <substitute>(R)</substitute>
+            </character>
+            <character value = "»">
+                <substitute>&gt;&gt;</substitute>
+            </character>
+            <character value = "¼">
+                <substitute> 1/4</substitute>
+            </character>
+            <character value = "½">
+                <substitute> 1/2</substitute>
+            </character>
+            <character value = "¾">
+                <substitute> 3/4</substitute>
+            </character>
+            <character value = "Æ">
+                <substitute>AE</substitute>
+            </character>
+            <character value = "ß">
+                <substitute>ss</substitute>
+            </character>
+            <character value = "æ">
+                <substitute>ae</substitute>
+            </character>
+            <character value = "ʼn">
+                <substitute>&apos;n</substitute>
+            </character>
+            <character value = "Œ">
+                <substitute>OE</substitute>
+            </character>
+            <character value = "œ">
+                <substitute>oe</substitute>
+            </character>
+            <character value = "Ș">
+                <substitute>Ş</substitute>
+            </character>
+            <character value = "ș">
+                <substitute>ş</substitute>
+            </character>
+            <character value = "Ț">
+                <substitute>Ţ</substitute>
+            </character>
+            <character value = "ț">
+                <substitute>ţ</substitute>
+            </character>
+            <character value="־">
+                <substitute>-</substitute>
+            </character>
+            <character value="׳">
+                <substitute>&apos;</substitute>
+            </character>
+            <character value="״">
+                <substitute>&quot;</substitute>
+            </character>
+            <character value = "٫">
+                <substitute>,</substitute>
+            </character>
+            <character value = "٬">
+                <substitute>&apos;</substitute>
+            </character>
+            <character value = "‐">
+                <substitute>-</substitute>
+            </character>
+            <character value = "‑">
+                <substitute>-</substitute>
+            </character>
+            <character value = "‒">
+                <substitute>-</substitute>
+            </character>
+            <character value = "–">
+                <substitute>-</substitute>
+            </character>
+            <character value = "—">
+                <substitute>-</substitute>
+            </character>
+            <character value = "―">
+                <substitute>-</substitute>
+            </character>
+            <character value = "‘">
+                <substitute>&apos;</substitute>
+            </character>
+            <character value = "’">
+                <substitute>&apos;</substitute>
+            </character>
+            <character value = "‚">
+                <substitute>,</substitute>
+            </character>
+            <character value = "‛">
+                <substitute>&apos;</substitute>
+            </character>
+            <character value = "“">
+                <substitute>&quot;</substitute>
+            </character>
+            <character value = "”">
+                <substitute>&quot;</substitute>
+            </character>
+            <character value = "„">
+                <substitute>,,</substitute>
+            </character>
+            <character value = "‟">
+                <substitute>&quot;</substitute>
+            </character>
+            <character value = "•">
+                <substitute>·</substitute>
+            </character>
+            <character value = "‧">
+                <substitute>·</substitute>
+            </character>
+            <character value = "⁄">
+                <substitute>/</substitute>
+            </character>
+            <character value = "₠">
+                <substitute>CE</substitute>
+            </character>
+            <character value = "₡">
+                <substitute>CRC</substitute>
+            </character>
+            <character value = "₵">
+                <substitute>¢</substitute>
+            </character>
+            <character value = "₢">
+                <substitute>Cr</substitute>
+            </character>
+            <character value = "₣">
+                <substitute>Fr.</substitute>
+            </character>
+            <character value = "₤">
+                <substitute>L.</substitute>
+            </character>
+            <character value = "₦">
+                <substitute>NGN</substitute>
+            </character>
+            <character value = "₧">
+                <substitute>Pts</substitute>
+            </character>
+            <character value = "₩">
+                <substitute>KRW</substitute>
+            </character>
+            <character value = "₪">
+                <substitute>ILS</substitute>
+            </character>
+            <character value = "₫">
+                <substitute>VND</substitute>
+            </character>
+            <character value = "€">
+                <substitute>EUR</substitute>
+            </character>
+            <character value = "₭">
+                <substitute>LAK</substitute>
+            </character>
+            <character value = "₮">
+                <substitute>MNT</substitute>
+            </character>
+            <character value = "₯">
+                <substitute>GRD</substitute>
+            </character>
+            <character value = "₱">
+                <substitute>PHP</substitute>
+            </character>
+            <character value = "₲">
+                <substitute>PYG</substitute>
+            </character>
+            <character value = "₵">
+                <substitute>GHS</substitute>
+            </character>
+            <character value = "℞">
+                <substitute>Rx</substitute>
+            </character>
+            <character value = "⅓">
+                <substitute> 1/3</substitute>
+            </character>
+            <character value = "⅔">
+                <substitute> 2/3</substitute>
+            </character>
+            <character value = "⅕">
+                <substitute> 1/5</substitute>
+            </character>
+            <character value = "⅖">
+                <substitute> 2/5</substitute>
+            </character>
+            <character value = "⅗">
+                <substitute> 3/5</substitute>
+            </character>
+            <character value = "⅘">
+                <substitute> 4/5</substitute>
+            </character>
+            <character value = "⅙">
+                <substitute> 1/6</substitute>
+            </character>
+            <character value = "⅚">
+                <substitute> 5/6</substitute>
+            </character>
+            <character value = "⅛">
+                <substitute> 1/8</substitute>
+            </character>
+            <character value = "⅜">
+                <substitute> 3/8</substitute>
+            </character>
+            <character value = "⅝">
+                <substitute> 5/8</substitute>
+            </character>
+            <character value = "⅞">
+                <substitute> 7/8</substitute>
+            </character>
+            <character value = "⅟">
+                <substitute> 1/</substitute>
+            </character>
+            <character value = "∏">
+                <substitute>Π</substitute>
+            </character>
+            <character value = "∑">
+                <substitute>Σ</substitute>
+            </character>
+            <character value = "−">
+                <substitute>-</substitute>
+            </character>
+            <character value = "∕">
+                <substitute>/</substitute>
+            </character>
+            <character value = "∖">
+                <substitute>\</substitute>
+            </character>
+            <character value = "∣">
+                <substitute>|</substitute>
+            </character>
+            <character value = "∥">
+                <substitute>||</substitute>
+            </character>
+            <character value = " ">
+                <substitute>  </substitute>
+            </character>
+            <character value = "㍸">
+                <substitute>dm²</substitute>
+            </character>
+            <character value = "㍹">
+                <substitute>dm³</substitute>
+            </character>
+            <character value = "㎟">
+                <substitute>mm²</substitute>
+            </character>
+            <character value = "㎠">
+                <substitute>cm²</substitute>
+            </character>
+            <character value = "㎡">
+                <substitute>m²</substitute>
+            </character>
+            <character value = "㎢">
+                <substitute>km²</substitute>
+            </character>
+            <character value = "㎣">
+                <substitute>mm³</substitute>
+            </character>
+            <character value = "㎤">
+                <substitute>cm³</substitute>
+            </character>
+            <character value = "㎥">
+                <substitute>m³</substitute>
+            </character>
+            <character value = "㎦">
+                <substitute>km³</substitute>
+            </character>
+            <character value = "㎧">
+                <substitute>m/s</substitute>
+            </character>
+            <character value = "㎨">
+                <substitute>m/s²</substitute>
+            </character>
+            <character value = "㎮">
+                <substitute>rad/s</substitute>
+            </character>
+            <character value = "㎯">
+                <substitute>rad/s²</substitute>
+            </character>
+            <character value = "㏄">
+                <substitute>CC</substitute>
+            </character>
+            <character value = "㏆">
+                <substitute>C/kg</substitute>
+            </character>
+            <character value = "㏗">
+                <substitute>pH</substitute>
+            </character>
+            <character value = "㏞">
+                <substitute>V/m</substitute>
+            </character>
+            <character value = "㏟">
+                <substitute>A/m</substitute>
+            </character>
+            <character value = "ſt">
+                <substitute>ſt</substitute>
+            </character>
+            <character value = "⦅">
+                <substitute>((</substitute>
+            </character>
+            <character value = "⦆">
+                <substitute>))</substitute>
+            </character>
+            <character value = "゙">
+                <substitute>゛</substitute>
+            </character>
+            <character value = "゚">
+                <substitute>゜</substitute>
+            </character>
+            <character value = "ᅠ">
+                <substitute>ㅤ</substitute>
+            </character>
+            <character value = "ᄀ">
+                <substitute>ㄱ</substitute>
+            </character>
+            <character value = "ᄁ">
+                <substitute>ㄲ</substitute>
+            </character>
+            <character value = "ᆪ">
+                <substitute>ㄳ</substitute>
+            </character>
+            <character value = "ᄂ">
+                <substitute>ㄴ</substitute>
+            </character>
+            <character value = "ᆬ">
+                <substitute>ㄵ</substitute>
+            </character>
+            <character value = "ᆭ">
+                <substitute>ㄶ</substitute>
+            </character>
+            <character value = "ᄃ">
+                <substitute>ㄷ</substitute>
+            </character>
+            <character value = "ᄄ">
+                <substitute>ㄸ</substitute>
+            </character>
+            <character value = "ᄅ">
+                <substitute>ㄹ</substitute>
+            </character>
+            <character value = "ᆰ">
+                <substitute>ㄺ</substitute>
+            </character>
+            <character value = "ᆱ">
+                <substitute>ㄻ</substitute>
+            </character>
+            <character value = "ᆲ">
+                <substitute>ㄼ</substitute>
+            </character>
+            <character value = "ᆳ">
+                <substitute>ㄽ</substitute>
+            </character>
+            <character value = "ᆴ">
+                <substitute>ㄾ</substitute>
+            </character>
+            <character value = "ᆵ">
+                <substitute>ㄿ</substitute>
+            </character>
+            <character value = "ᄚ">
+                <substitute>ㅀ</substitute>
+            </character>
+            <character value = "ᄆ">
+                <substitute>ㅁ</substitute>
+            </character>
+            <character value = "ᄇ">
+                <substitute>ㅂ</substitute>
+            </character>
+            <character value = "ᄈ">
+                <substitute>ㅃ</substitute>
+            </character>
+            <character value = "ᄡ">
+                <substitute>ㅄ</substitute>
+            </character>
+            <character value = "ᄉ">
+                <substitute>ㅅ</substitute>
+            </character>
+            <character value = "ᄊ">
+                <substitute>ㅆ</substitute>
+            </character>
+            <character value = "ᄋ">
+                <substitute>ㅇ</substitute>
+            </character>
+            <character value = "ᄌ">
+                <substitute>ㅈ</substitute>
+            </character>
+            <character value = "ᄍ">
+                <substitute>ㅉ</substitute>
+            </character>
+            <character value = "ᄎ">
+                <substitute>ㅊ</substitute>
+            </character>
+            <character value = "ᄏ">
+                <substitute>ㅋ</substitute>
+            </character>
+            <character value = "ᄐ">
+                <substitute>ㅌ</substitute>
+            </character>
+            <character value = "ᄑ">
+                <substitute>ㅍ</substitute>
+            </character>
+            <character value = "ᄒ">
+                <substitute>ㅎ</substitute>
+            </character>
+            <character value = "ᅡ">
+                <substitute>ㅏ</substitute>
+            </character>
+            <character value = "ᅢ">
+                <substitute>ㅐ</substitute>
+            </character>
+            <character value = "ᅣ">
+                <substitute>ㅑ</substitute>
+            </character>
+            <character value = "ᅤ">
+                <substitute>ㅒ</substitute>
+            </character>
+            <character value = "ᅥ">
+                <substitute>ㅓ</substitute>
+            </character>
+            <character value = "ᅦ">
+                <substitute>ㅔ</substitute>
+            </character>
+            <character value = "ᅧ">
+                <substitute>ㅕ</substitute>
+            </character>
+            <character value = "ᅨ">
+                <substitute>ㅖ</substitute>
+            </character>
+            <character value = "ᅩ">
+                <substitute>ㅗ</substitute>
+            </character>
+            <character value = "ᅪ">
+                <substitute>ㅘ</substitute>
+            </character>
+            <character value = "ᅫ">
+                <substitute>ㅙ</substitute>
+            </character>
+            <character value = "ᅬ">
+                <substitute>ㅚ</substitute>
+            </character>
+            <character value = "ᅭ">
+                <substitute>ㅛ</substitute>
+            </character>
+            <character value = "ᅮ">
+                <substitute>ㅜ</substitute>
+            </character>
+            <character value = "ᅯ">
+                <substitute>ㅝ</substitute>
+            </character>
+            <character value = "ᅰ">
+                <substitute>ㅞ</substitute>
+            </character>
+            <character value = "ᅱ">
+                <substitute>ㅟ</substitute>
+            </character>
+            <character value = "ᅲ">
+                <substitute>ㅠ</substitute>
+            </character>
+            <character value = "ᅳ">
+                <substitute>ㅡ</substitute>
+            </character>
+            <character value = "ᅴ">
+                <substitute>ㅢ</substitute>
+            </character>
+            <character value = "ᅵ">
+                <substitute>ㅣ</substitute>
+            </character>
+            <character value = " ̄">
+                <substitute>¯</substitute>
+            </character>
+        </character-fallback>
+    </characters>
 </supplementalData>

+ 31 - 1
tests/Zend/Locale/DataTest.php

@@ -2462,7 +2462,7 @@ class Zend_Locale_DataTest extends PHPUnit_Framework_TestCase
     }
 
     /**
-     * test for reading postaltoterritory from locale
+     * test for reading numberingsystem from locale
      * expected array
      */
     public function testNumberingSystem()
@@ -2493,4 +2493,34 @@ class Zend_Locale_DataTest extends PHPUnit_Framework_TestCase
         $value = Zend_Locale_Data::getContent('de_AT', 'numberingsystem', 'Arab');
         $this->assertEquals("٠١٢٣٤٥٦٧٨٩", $value);
     }
+
+    /**
+     * test for reading chartofallback from locale
+     * expected array
+     */
+    public function testCharToFallback()
+    {
+        $value = Zend_Locale_Data::getList('de_AT', 'chartofallback');
+        $this->assertEquals('©', $value['(C)']);
+        $this->assertEquals('½', $value[' 1/2']);
+        $this->assertEquals('Æ', $value['AE']);
+
+        $value = Zend_Locale_Data::getContent('de_AT', 'chartofallback', '(C)');
+        $this->assertEquals("©", $value);
+    }
+
+    /**
+     * test for reading chartofallback from locale
+     * expected array
+     */
+    public function testFallbackToChar()
+    {
+        $value = Zend_Locale_Data::getList('de_AT', 'fallbacktochar');
+        $this->assertEquals('(C)', $value['©']);
+        $this->assertEquals(' 1/2', $value['½']);
+        $this->assertEquals('AE', $value['Æ']);
+
+        $value = Zend_Locale_Data::getContent('de_AT', 'fallbacktochar', '©');
+        $this->assertEquals('(C)', $value);
+    }
 }