summaryrefslogtreecommitdiff
path: root/system/core/utf8/from_unicode.php
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-11-24 19:20:36 -0800
committerBharat Mediratta <bharat@menalto.com>2009-11-24 19:20:36 -0800
commit9b6663f87a7e679ffba691cf516191fc840cf978 (patch)
tree20cf9f3aaf93b4ba69d282dcf10d259db4a752de /system/core/utf8/from_unicode.php
parent82ee5f9d338017c69331b2907f37a468ced8c66e (diff)
Update to Kohana r4684 which is now Kohana 2.4 and has substantial
changes.
Diffstat (limited to 'system/core/utf8/from_unicode.php')
-rw-r--r--system/core/utf8/from_unicode.php68
1 files changed, 0 insertions, 68 deletions
diff --git a/system/core/utf8/from_unicode.php b/system/core/utf8/from_unicode.php
deleted file mode 100644
index 66c6742d..00000000
--- a/system/core/utf8/from_unicode.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php defined('SYSPATH') OR die('No direct access allowed.');
-/**
- * utf8::from_unicode
- *
- * @package Core
- * @author Kohana Team
- * @copyright (c) 2007 Kohana Team
- * @copyright (c) 2005 Harry Fuecks
- * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
- */
-function _from_unicode($arr)
-{
- ob_start();
-
- $keys = array_keys($arr);
-
- foreach ($keys as $k)
- {
- // ASCII range (including control chars)
- if (($arr[$k] >= 0) AND ($arr[$k] <= 0x007f))
- {
- echo chr($arr[$k]);
- }
- // 2 byte sequence
- elseif ($arr[$k] <= 0x07ff)
- {
- echo chr(0xc0 | ($arr[$k] >> 6));
- echo chr(0x80 | ($arr[$k] & 0x003f));
- }
- // Byte order mark (skip)
- elseif ($arr[$k] == 0xFEFF)
- {
- // nop -- zap the BOM
- }
- // Test for illegal surrogates
- elseif ($arr[$k] >= 0xD800 AND $arr[$k] <= 0xDFFF)
- {
- // Found a surrogate
- trigger_error('utf8::from_unicode: Illegal surrogate at index: '.$k.', value: '.$arr[$k], E_USER_WARNING);
- return FALSE;
- }
- // 3 byte sequence
- elseif ($arr[$k] <= 0xffff)
- {
- echo chr(0xe0 | ($arr[$k] >> 12));
- echo chr(0x80 | (($arr[$k] >> 6) & 0x003f));
- echo chr(0x80 | ($arr[$k] & 0x003f));
- }
- // 4 byte sequence
- elseif ($arr[$k] <= 0x10ffff)
- {
- echo chr(0xf0 | ($arr[$k] >> 18));
- echo chr(0x80 | (($arr[$k] >> 12) & 0x3f));
- echo chr(0x80 | (($arr[$k] >> 6) & 0x3f));
- echo chr(0x80 | ($arr[$k] & 0x3f));
- }
- // Out of range
- else
- {
- trigger_error('utf8::from_unicode: Codepoint out of Unicode range at index: '.$k.', value: '.$arr[$k], E_USER_WARNING);
- return FALSE;
- }
- }
-
- $result = ob_get_contents();
- ob_end_clean();
- return $result;
-}