Word2007: Reformat fonttable and theme parts

This commit is contained in:
Ivan Lanin 2014-05-18 17:49:47 +07:00
parent 970c6a24eb
commit b1e16e4386
2 changed files with 461 additions and 4 deletions

View File

@ -20,6 +20,7 @@ namespace PhpOffice\PhpWord\Writer\Word2007\Part;
/** /**
* Word2007 font table writer: word/fontTable.xml * Word2007 font table writer: word/fontTable.xml
* *
* @todo Generate content dynamically
* @since 0.10.0 * @since 0.10.0
*/ */
class FontTable extends AbstractPart class FontTable extends AbstractPart
@ -29,7 +30,77 @@ class FontTable extends AbstractPart
*/ */
public function write() public function write()
{ {
return '<?xml version="1.0" encoding="UTF-8" standalone="yes"?> $str = '';
<w:fonts xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:font w:name="Times New Roman"><w:panose1 w:val="02020603050405020304"/><w:charset w:val="00"/><w:family w:val="roman"/><w:pitch w:val="variable"/><w:sig w:usb0="E0002AFF" w:usb1="C0007841" w:usb2="00000009" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/></w:font><w:font w:name="Courier New"><w:panose1 w:val="02070309020205020404"/><w:charset w:val="00"/><w:family w:val="modern"/><w:pitch w:val="fixed"/><w:sig w:usb0="E0002AFF" w:usb1="C0007843" w:usb2="00000009" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/></w:font><w:font w:name="Wingdings"><w:panose1 w:val="05000000000000000000"/><w:charset w:val="02"/><w:family w:val="auto"/><w:pitch w:val="variable"/><w:sig w:usb0="00000000" w:usb1="10000000" w:usb2="00000000" w:usb3="00000000" w:csb0="80000000" w:csb1="00000000"/></w:font><w:font w:name="Symbol"><w:panose1 w:val="05050102010706020507"/><w:charset w:val="02"/><w:family w:val="roman"/><w:pitch w:val="variable"/><w:sig w:usb0="00000000" w:usb1="10000000" w:usb2="00000000" w:usb3="00000000" w:csb0="80000000" w:csb1="00000000"/></w:font><w:font w:name="Arial"><w:panose1 w:val="020B0604020202020204"/><w:charset w:val="00"/><w:family w:val="swiss"/><w:pitch w:val="variable"/><w:sig w:usb0="E0002AFF" w:usb1="C0007843" w:usb2="00000009" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/></w:font><w:font w:name="Cambria"><w:panose1 w:val="02040503050406030204"/><w:charset w:val="00"/><w:family w:val="roman"/><w:pitch w:val="variable"/><w:sig w:usb0="A00002EF" w:usb1="4000004B" w:usb2="00000000" w:usb3="00000000" w:csb0="0000019F" w:csb1="00000000"/></w:font><w:font w:name="Calibri"><w:panose1 w:val="020F0502020204030204"/><w:charset w:val="00"/><w:family w:val="swiss"/><w:pitch w:val="variable"/><w:sig w:usb0="E10002FF" w:usb1="4000ACFF" w:usb2="00000009" w:usb3="00000000" w:csb0="0000019F" w:csb1="00000000"/></w:font></w:fonts>'; $str .= '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
$str .= '<w:fonts ' .
'xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" ' .
'xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">';
$str .= '<w:font w:name="Times New Roman">';
$str .= '<w:panose1 w:val="02020603050405020304" />';
$str .= '<w:charset w:val="00" />';
$str .= '<w:family w:val="roman" />';
$str .= '<w:pitch w:val="variable" />';
$str .= '<w:sig w:usb0="E0002AFF" w:usb1="C0007841" w:usb2="00000009" w:usb3="00000000" ' .
'w:csb0="000001FF" w:csb1="00000000" />';
$str .= '</w:font>';
$str .= '<w:font w:name="Courier New">';
$str .= '<w:panose1 w:val="02070309020205020404" />';
$str .= '<w:charset w:val="00" />';
$str .= '<w:family w:val="modern" />';
$str .= '<w:pitch w:val="fixed" />';
$str .= '<w:sig w:usb0="E0002AFF" w:usb1="C0007843" w:usb2="00000009" w:usb3="00000000" ' .
'w:csb0="000001FF" w:csb1="00000000" />';
$str .= '</w:font>';
$str .= '<w:font w:name="Wingdings">';
$str .= '<w:panose1 w:val="05000000000000000000" />';
$str .= '<w:charset w:val="02" />';
$str .= '<w:family w:val="auto" />';
$str .= '<w:pitch w:val="variable" />';
$str .= '<w:sig w:usb0="00000000" w:usb1="10000000" w:usb2="00000000" w:usb3="00000000" ' .
'w:csb0="80000000" w:csb1="00000000" />';
$str .= '</w:font>';
$str .= '<w:font w:name="Symbol">';
$str .= '<w:panose1 w:val="05050102010706020507" />';
$str .= '<w:charset w:val="02" />';
$str .= '<w:family w:val="roman" />';
$str .= '<w:pitch w:val="variable" />';
$str .= '<w:sig w:usb0="00000000" w:usb1="10000000" w:usb2="00000000" w:usb3="00000000" ' .
'w:csb0="80000000" w:csb1="00000000" />';
$str .= '</w:font>';
$str .= '<w:font w:name="Arial">';
$str .= '<w:panose1 w:val="020B0604020202020204" />';
$str .= '<w:charset w:val="00" />';
$str .= '<w:family w:val="swiss" />';
$str .= '<w:pitch w:val="variable" />';
$str .= '<w:sig w:usb0="E0002AFF" w:usb1="C0007843" w:usb2="00000009" w:usb3="00000000" ' .
'w:csb0="000001FF" w:csb1="00000000" />';
$str .= '</w:font>';
$str .= '<w:font w:name="Cambria">';
$str .= '<w:panose1 w:val="02040503050406030204" />';
$str .= '<w:charset w:val="00" />';
$str .= '<w:family w:val="roman" />';
$str .= '<w:pitch w:val="variable" />';
$str .= '<w:sig w:usb0="A00002EF" w:usb1="4000004B" w:usb2="00000000" w:usb3="00000000" ' .
'w:csb0="0000019F" w:csb1="00000000" />';
$str .= '</w:font>';
$str .= '<w:font w:name="Calibri">';
$str .= '<w:panose1 w:val="020F0502020204030204" />';
$str .= '<w:charset w:val="00" />';
$str .= '<w:family w:val="swiss" />';
$str .= '<w:pitch w:val="variable" />';
$str .= '<w:sig w:usb0="E10002FF" w:usb1="4000ACFF" w:usb2="00000009" w:usb3="00000000" ' .
'w:csb0="0000019F" w:csb1="00000000" />';
$str .= '</w:font>';
$str .= '</w:fonts>';
return $str;
} }
} }

File diff suppressed because one or more lines are too long