Example #1
0
 /**
  * Find the related code folding values for $char
  *
  * @param integer $char decimal value of character
  * @param string $type
  * @return array
  */
 private static function __find($char, $type = 'lower')
 {
     $found = array();
     if (!isset(self::$__codeRange[$char])) {
         $range = self::__codepoint($char);
         if ($range === false) {
             return null;
         }
         if (!Configure::configured('_cake_core_')) {
             App::uses('PhpReader', 'Configure');
             Configure::config('_cake_core_', new PhpReader(CAKE . 'Config' . DS));
         }
         Configure::load('unicode' . DS . 'casefolding' . DS . $range, '_cake_core_');
         self::$__caseFold[$range] = Configure::read($range);
         Configure::delete($range);
     }
     if (!self::$__codeRange[$char]) {
         return null;
     }
     self::$__table = self::$__codeRange[$char];
     $count = count(self::$__caseFold[self::$__table]);
     for ($i = 0; $i < $count; $i++) {
         if ($type === 'lower' && self::$__caseFold[self::$__table][$i][$type][0] === $char) {
             $found[] = self::$__caseFold[self::$__table][$i];
         } elseif ($type === 'upper' && self::$__caseFold[self::$__table][$i][$type] === $char) {
             $found[] = self::$__caseFold[self::$__table][$i];
         }
     }
     return $found;
 }
Example #2
0
 /**
  * Find the related code folding values for $char
  *
  * @param integer $char decimal value of character
  * @param string $type
  * @return array
  * @access private
  */
 private static function __find($char, $type = 'lower')
 {
     $value = false;
     $found = array();
     if (!isset(self::$__codeRange[$char])) {
         $range = self::__codepoint($char);
         if ($range === false) {
             return null;
         }
         Configure::load('unicode' . DS . 'casefolding' . DS . $range);
         self::$__caseFold[$range] = Configure::read($range);
         Configure::delete($range);
     }
     if (!self::$__codeRange[$char]) {
         return null;
     }
     self::$__table = self::$__codeRange[$char];
     $count = count(self::$__caseFold[self::$__table]);
     for ($i = 0; $i < $count; $i++) {
         if ($type === 'lower' && self::$__caseFold[self::$__table][$i][$type][0] === $char) {
             $found[] = self::$__caseFold[self::$__table][$i];
         } elseif ($type === 'upper' && self::$__caseFold[self::$__table][$i][$type] === $char) {
             $found[] = self::$__caseFold[self::$__table][$i];
         }
     }
     return $found;
 }