diff -r 000000000000 -r 4eba9c11703f web/Zend/Text/Table/Decorator/Unicode.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/Zend/Text/Table/Decorator/Unicode.php Mon Dec 13 18:29:26 2010 +0100 @@ -0,0 +1,176 @@ +_uniChar(0x250C); + } + + /** + * Defined by Zend_Text_Table_Decorator_Interface + * + * @return string + */ + public function getTopRight() + { + return $this->_uniChar(0x2510); + } + + /** + * Defined by Zend_Text_Table_Decorator_Interface + * + * @return string + */ + public function getBottomLeft() + { + return $this->_uniChar(0x2514); + } + + /** + * Defined by Zend_Text_Table_Decorator_Interface + * + * @return string + */ + public function getBottomRight() + { + return $this->_uniChar(0x2518); + } + + /** + * Defined by Zend_Text_Table_Decorator_Interface + * + * @return string + */ + public function getVertical() + { + return $this->_uniChar(0x2502); + } + + /** + * Defined by Zend_Text_Table_Decorator_Interface + * + * @return string + */ + public function getHorizontal() + { + return $this->_uniChar(0x2500); + } + + /** + * Defined by Zend_Text_Table_Decorator_Interface + * + * @return string + */ + public function getCross() + { + return $this->_uniChar(0x253C); + } + + /** + * Defined by Zend_Text_Table_Decorator_Interface + * + * @return string + */ + public function getVerticalRight() + { + return $this->_uniChar(0x251C); + } + + /** + * Defined by Zend_Text_Table_Decorator_Interface + * + * @return string + */ + public function getVerticalLeft() + { + return $this->_uniChar(0x2524); + } + + /** + * Defined by Zend_Text_Table_Decorator_Interface + * + * @return string + */ + public function getHorizontalDown() + { + return $this->_uniChar(0x252C); + } + + /** + * Defined by Zend_Text_Table_Decorator_Interface + * + * @return string + */ + public function getHorizontalUp() + { + return $this->_uniChar(0x2534); + } + + /** + * Convert am unicode character code to a character + * + * @param integer $code + * @return string|false + */ + protected function _uniChar($code) + { + if ($code <= 0x7F) { + $char = chr($code); + } else if ($code <= 0x7FF) { + $char = chr(0xC0 | $code >> 6) + . chr(0x80 | $code & 0x3F); + } else if ($code <= 0xFFFF) { + $char = chr(0xE0 | $code >> 12) + . chr(0x80 | $code >> 6 & 0x3F) + . chr(0x80 | $code & 0x3F); + } else if ($code <= 0x10FFFF) { + $char = chr(0xF0 | $code >> 18) + . chr(0x80 | $code >> 12 & 0x3F) + . chr(0x80 | $code >> 6 & 0x3F) + . chr(0x80 | $code & 0x3F); + } else { + return false; + } + + return $char; + } +}