Skip to content

Commit b1e16e4

Browse files
committed
Word2007: Reformat fonttable and theme parts
1 parent 970c6a2 commit b1e16e4

File tree

2 files changed

+461
-4
lines changed

2 files changed

+461
-4
lines changed

src/PhpWord/Writer/Word2007/Part/FontTable.php

Lines changed: 73 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
/**
2121
* Word2007 font table writer: word/fontTable.xml
2222
*
23+
* @todo Generate content dynamically
2324
* @since 0.10.0
2425
*/
2526
class FontTable extends AbstractPart
@@ -29,7 +30,77 @@ class FontTable extends AbstractPart
2930
*/
3031
public function write()
3132
{
32-
return '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
33-
<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>';
33+
$str = '';
34+
$str .= '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
35+
$str .= '<w:fonts ' .
36+
'xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" ' .
37+
'xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">';
38+
39+
$str .= '<w:font w:name="Times New Roman">';
40+
$str .= '<w:panose1 w:val="02020603050405020304" />';
41+
$str .= '<w:charset w:val="00" />';
42+
$str .= '<w:family w:val="roman" />';
43+
$str .= '<w:pitch w:val="variable" />';
44+
$str .= '<w:sig w:usb0="E0002AFF" w:usb1="C0007841" w:usb2="00000009" w:usb3="00000000" ' .
45+
'w:csb0="000001FF" w:csb1="00000000" />';
46+
$str .= '</w:font>';
47+
48+
$str .= '<w:font w:name="Courier New">';
49+
$str .= '<w:panose1 w:val="02070309020205020404" />';
50+
$str .= '<w:charset w:val="00" />';
51+
$str .= '<w:family w:val="modern" />';
52+
$str .= '<w:pitch w:val="fixed" />';
53+
$str .= '<w:sig w:usb0="E0002AFF" w:usb1="C0007843" w:usb2="00000009" w:usb3="00000000" ' .
54+
'w:csb0="000001FF" w:csb1="00000000" />';
55+
$str .= '</w:font>';
56+
57+
$str .= '<w:font w:name="Wingdings">';
58+
$str .= '<w:panose1 w:val="05000000000000000000" />';
59+
$str .= '<w:charset w:val="02" />';
60+
$str .= '<w:family w:val="auto" />';
61+
$str .= '<w:pitch w:val="variable" />';
62+
$str .= '<w:sig w:usb0="00000000" w:usb1="10000000" w:usb2="00000000" w:usb3="00000000" ' .
63+
'w:csb0="80000000" w:csb1="00000000" />';
64+
$str .= '</w:font>';
65+
66+
$str .= '<w:font w:name="Symbol">';
67+
$str .= '<w:panose1 w:val="05050102010706020507" />';
68+
$str .= '<w:charset w:val="02" />';
69+
$str .= '<w:family w:val="roman" />';
70+
$str .= '<w:pitch w:val="variable" />';
71+
$str .= '<w:sig w:usb0="00000000" w:usb1="10000000" w:usb2="00000000" w:usb3="00000000" ' .
72+
'w:csb0="80000000" w:csb1="00000000" />';
73+
$str .= '</w:font>';
74+
75+
$str .= '<w:font w:name="Arial">';
76+
$str .= '<w:panose1 w:val="020B0604020202020204" />';
77+
$str .= '<w:charset w:val="00" />';
78+
$str .= '<w:family w:val="swiss" />';
79+
$str .= '<w:pitch w:val="variable" />';
80+
$str .= '<w:sig w:usb0="E0002AFF" w:usb1="C0007843" w:usb2="00000009" w:usb3="00000000" ' .
81+
'w:csb0="000001FF" w:csb1="00000000" />';
82+
$str .= '</w:font>';
83+
84+
$str .= '<w:font w:name="Cambria">';
85+
$str .= '<w:panose1 w:val="02040503050406030204" />';
86+
$str .= '<w:charset w:val="00" />';
87+
$str .= '<w:family w:val="roman" />';
88+
$str .= '<w:pitch w:val="variable" />';
89+
$str .= '<w:sig w:usb0="A00002EF" w:usb1="4000004B" w:usb2="00000000" w:usb3="00000000" ' .
90+
'w:csb0="0000019F" w:csb1="00000000" />';
91+
$str .= '</w:font>';
92+
93+
$str .= '<w:font w:name="Calibri">';
94+
$str .= '<w:panose1 w:val="020F0502020204030204" />';
95+
$str .= '<w:charset w:val="00" />';
96+
$str .= '<w:family w:val="swiss" />';
97+
$str .= '<w:pitch w:val="variable" />';
98+
$str .= '<w:sig w:usb0="E10002FF" w:usb1="4000ACFF" w:usb2="00000009" w:usb3="00000000" ' .
99+
'w:csb0="0000019F" w:csb1="00000000" />';
100+
$str .= '</w:font>';
101+
102+
$str .= '</w:fonts>';
103+
104+
return $str;
34105
}
35106
}

0 commit comments

Comments
 (0)