FIXED : Work item 8916 - Support for Rich-Text in PHPExcel_Writer_Excel5

git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@87070 2327b42d-5241-43d6-9e2a-de5ac946f064
This commit is contained in:
Progi1984
2012-02-27 22:05:21 +00:00
parent e0751201b8
commit 41199626d8
5 changed files with 114 additions and 36 deletions
+18 -8
View File
@@ -430,19 +430,29 @@ class PHPExcel_Shared_String
* @param string $value UTF-8 encoded string
* @return string
*/
public static function UTF8toBIFF8UnicodeShort($value)
public static function UTF8toBIFF8UnicodeShort($value, $arrcRuns = array())
{
// character count
$ln = self::CountCharacters($value, 'UTF-8');
// option flags
$opt = (self::getIsIconvEnabled() || self::getIsMbstringEnabled()) ?
0x0001 : 0x0000;
// characters
$chars = self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8');
$data = pack('CC', $ln, $opt) . $chars;
if(empty($arrcRuns)){
$opt = (self::getIsIconvEnabled() || self::getIsMbstringEnabled()) ?
0x0001 : 0x0000;
$data = pack('CC', $ln, $opt);
// characters
$data .= self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8');
}
else {
$data = pack('vC', $ln, 0x08);
$data .= pack('v', count($arrcRuns));
// characters
$data .= $value;
foreach ($arrcRuns as $cRun){
$data .= pack('v', $cRun['strlen']);
$data .= pack('v', $cRun['fontidx']);
}
}
return $data;
}