当前位置: 首页>>代码示例>>PHP>>正文


PHP TCPDF_FONTS::UTF8StringToArray方法代码示例

本文整理汇总了PHP中TCPDF_FONTS::UTF8StringToArray方法的典型用法代码示例。如果您正苦于以下问题:PHP TCPDF_FONTS::UTF8StringToArray方法的具体用法?PHP TCPDF_FONTS::UTF8StringToArray怎么用?PHP TCPDF_FONTS::UTF8StringToArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TCPDF_FONTS的用法示例。


在下文中一共展示了TCPDF_FONTS::UTF8StringToArray方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: hyphenateText

 /**
  * Returns text with soft hyphens.
  * @param $text (string) text to process
  * @param $patterns (mixed) Array of hypenation patterns or a TEX file containing hypenation patterns. TEX patterns can be downloaded from http://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/
  * @param $dictionary (array) Array of words to be returned without applying the hyphenation algoritm.
  * @param $leftmin (int) Minimum number of character to leave on the left of the word without applying the hyphens.
  * @param $rightmin (int) Minimum number of character to leave on the right of the word without applying the hyphens.
  * @param $charmin (int) Minimum word length to apply the hyphenation algoritm.
  * @param $charmax (int) Maximum length of broken piece of word.
  * @return array text with soft hyphens
  * @author Nicola Asuni
  * @since 4.9.012 (2010-04-12)
  * @public
  */
 public function hyphenateText($text, $patterns, $dictionary = array(), $leftmin = 1, $rightmin = 2, $charmin = 1, $charmax = 8)
 {
     $text = $this->unhtmlentities($text);
     $word = array();
     // last word
     $txtarr = array();
     // text to be returned
     $intag = false;
     // true if we are inside an HTML tag
     if (!is_array($patterns)) {
         $patterns = TCPDF_STATIC::getHyphenPatternsFromTEX($patterns);
     }
     // get array of characters
     $unichars = TCPDF_FONTS::UTF8StringToArray($text, $this->isunicode, $this->CurrentFont);
     // for each char
     foreach ($unichars as $char) {
         if (!$intag and TCPDF_FONT_DATA::$uni_type[$char] == 'L') {
             // letter character
             $word[] = $char;
         } else {
             // other type of character
             if (!TCPDF_STATIC::empty_string($word)) {
                 // hypenate the word
                 $txtarr = array_merge($txtarr, $this->hyphenateWord($word, $patterns, $dictionary, $leftmin, $rightmin, $charmin, $charmax));
                 $word = array();
             }
             $txtarr[] = $char;
             if (chr($char) == '<') {
                 // we are inside an HTML tag
                 $intag = true;
             } elseif ($intag and chr($char) == '>') {
                 // end of HTML tag
                 $intag = false;
             }
         }
     }
     if (!TCPDF_STATIC::empty_string($word)) {
         // hypenate the word
         $txtarr = array_merge($txtarr, $this->hyphenateWord($word, $patterns, $dictionary, $leftmin, $rightmin, $charmin, $charmax));
     }
     // convert char array to string and return
     return TCPDF_FONTS::UTF8ArrSubString($txtarr, '', '', $this->isunicode);
 }
开发者ID:TheTypoMaster,项目名称:myapps,代码行数:57,代码来源:tcpdf.php

示例2: hyphenateText

 /**
  * Returns text with soft hyphens.
  * @param $text (string) text to process
  * @param $patterns (mixed) Array of hypenation patterns or a TEX file containing hypenation patterns. TEX patterns can be downloaded from http://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/
  * @param $dictionary (array) Array of words to be returned without applying the hyphenation algorithm.
  * @param $leftmin (int) Minimum number of character to leave on the left of the word without applying the hyphens.
  * @param $rightmin (int) Minimum number of character to leave on the right of the word without applying the hyphens.
  * @param $charmin (int) Minimum word length to apply the hyphenation algorithm.
  * @param $charmax (int) Maximum length of broken piece of word.
  * @return array text with soft hyphens
  * @author Nicola Asuni
  * @since 4.9.012 (2010-04-12)
  * @public
  */
 public function hyphenateText($text, $patterns, $dictionary = array(), $leftmin = 1, $rightmin = 2, $charmin = 1, $charmax = 8)
 {
     $text = $this->unhtmlentities($text);
     $word = array();
     // last word
     $txtarr = array();
     // text to be returned
     $intag = false;
     // true if we are inside an HTML tag
     $skip = false;
     // true to skip hyphenation
     if (!is_array($patterns)) {
         $patterns = TCPDF_STATIC::getHyphenPatternsFromTEX($patterns);
     }
     // get array of characters
     $unichars = TCPDF_FONTS::UTF8StringToArray($text, $this->isunicode, $this->CurrentFont);
     // for each char
     foreach ($unichars as $char) {
         if (!$intag and !$skip and TCPDF_FONT_DATA::$uni_type[$char] == 'L') {
             // letter character
             $word[] = $char;
         } else {
             // other type of character
             if (!TCPDF_STATIC::empty_string($word)) {
                 // hypenate the word
                 $txtarr = array_merge($txtarr, $this->hyphenateWord($word, $patterns, $dictionary, $leftmin, $rightmin, $charmin, $charmax));
                 $word = array();
             }
             $txtarr[] = $char;
             if (chr($char) == '<') {
                 // we are inside an HTML tag
                 $intag = true;
             } elseif ($intag and chr($char) == '>') {
                 // end of HTML tag
                 $intag = false;
                 // check for style tag
                 $expected = array(115, 116, 121, 108, 101);
                 // = 'style'
                 $current = array_slice($txtarr, -6, 5);
                 // last 5 chars
                 $compare = array_diff($expected, $current);
                 if (empty($compare)) {
                     // check if it is a closing tag
                     $expected = array(47);
                     // = '/'
                     $current = array_slice($txtarr, -7, 1);
                     $compare = array_diff($expected, $current);
                     if (empty($compare)) {
                         // closing style tag
                         $skip = false;
                     } else {
                         // opening style tag
                         $skip = true;
                     }
                 }
             }
         }
     }
     if (!TCPDF_STATIC::empty_string($word)) {
         // hypenate the word
         $txtarr = array_merge($txtarr, $this->hyphenateWord($word, $patterns, $dictionary, $leftmin, $rightmin, $charmin, $charmax));
     }
     // convert char array to string and return
     return TCPDF_FONTS::UTF8ArrSubString($txtarr, '', '', $this->isunicode);
 }
开发者ID:developmentDM2,项目名称:The-Haute-Mess,代码行数:79,代码来源:tcpdf.php


注:本文中的TCPDF_FONTS::UTF8StringToArray方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。