1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24 #include <FontTable.hxx>
25 #ifndef INCLUDED_RESOURCESIDS
26 #include <doctok/resourceids.hxx>
27 #include <ooxml/resourceids.hxx>
28 #endif
29 #include <vector>
30 #include <stdio.h>
31
32 #include "dmapperLoggers.hxx"
33
34 namespace writerfilter {
35 namespace dmapper
36 {
37
38 struct FontTable_Impl
39 {
40 std::vector< FontEntry::Pointer_t > aFontEntries;
41 FontEntry::Pointer_t pCurrentEntry;
FontTable_Implwriterfilter::dmapper::FontTable_Impl42 FontTable_Impl() {}
43 };
44 /*-- 19.06.2006 12:04:32---------------------------------------------------
45
46 -----------------------------------------------------------------------*/
FontTable()47 FontTable::FontTable()
48 : LoggedProperties(dmapper_logger, "FontTable")
49 , LoggedTable(dmapper_logger, "FontTable")
50 , LoggedStream(dmapper_logger, "FontTable")
51 , m_pImpl( new FontTable_Impl )
52 {
53 }
54 /*-- 19.06.2006 12:04:33---------------------------------------------------
55
56 -----------------------------------------------------------------------*/
~FontTable()57 FontTable::~FontTable()
58 {
59 delete m_pImpl;
60 }
61 /*-- 19.06.2006 12:04:33---------------------------------------------------
62
63 -----------------------------------------------------------------------*/
lcl_attribute(Id Name,Value & val)64 void FontTable::lcl_attribute(Id Name, Value & val)
65 {
66 OSL_ENSURE( m_pImpl->pCurrentEntry, "current entry has to be set here");
67 if(!m_pImpl->pCurrentEntry)
68 return ;
69 int nIntValue = val.getInt();
70 ::rtl::OUString sValue = val.getString();
71 //printf ( "FontTable::attribute(0x%.4x, 0x%.4x) [%s]\n", (unsigned int)Name, (unsigned int)nIntValue, ::rtl::OUStringToOString(sValue, RTL_TEXTENCODING_DONTKNOW).getStr());
72 /* WRITERFILTERSTATUS: table: FontTable_attributedata */
73 switch(Name)
74 {
75 // case NS_rtf::LN_ISTD: break;
76 // case NS_rtf::LN_ISTARTAT: break;
77 // case NS_rtf::LN_NFC: break;
78 // case NS_rtf::LN_JC: break;
79 // case NS_rtf::LN_FLEGAL: break;
80 // case NS_rtf::LN_FNORESTART: break;
81 // case NS_rtf::LN_FPREV: break;
82 // case NS_rtf::LN_FPREVSPACE: break;
83 // case NS_rtf::LN_FWORD6: break;
84 // case NS_rtf::LN_UNUSED5_7: break;
85 // case NS_rtf::LN_RGBXCHNUMS: break;
86 // case NS_rtf::LN_IXCHFOLLOW: break;
87 // case NS_rtf::LN_DXASPACE: break;
88 // case NS_rtf::LN_DXAINDENT: break;
89 // case NS_rtf::LN_CBGRPPRLCHPX: break;
90 // case NS_rtf::LN_CBGRPPRLPAPX: break;
91 // case NS_rtf::LN_LSID: break;
92 // case NS_rtf::LN_TPLC: break;
93 // case NS_rtf::LN_RGISTD: break;
94 // case NS_rtf::LN_FSIMPLELIST: break;
95 // case NS_rtf::LN_FRESTARTHDN: break;
96 // case NS_rtf::LN_UNSIGNED26_2: break;
97 // case NS_rtf::LN_ILVL: break;
98 // case NS_rtf::LN_FSTARTAT: break;
99 // case NS_rtf::LN_FFORMATTING: break;
100 // case NS_rtf::LN_UNSIGNED4_6: break;
101 // case NS_rtf::LN_UNUSED4: break;
102 // case NS_rtf::LN_UNUSED8: break;
103 // case NS_rtf::LN_CLFOLVL: break;
104 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
105 case NS_rtf::LN_CBFFNM1:
106 m_pImpl->pCurrentEntry->sFontName1 = sValue;
107 break;
108 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
109 case NS_rtf::LN_PRQ:
110 m_pImpl->pCurrentEntry->nPitchRequest = static_cast<sal_Int16>( nIntValue );
111 break;
112 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
113 case NS_rtf::LN_FTRUETYPE:
114 m_pImpl->pCurrentEntry->bTrueType = nIntValue == 1 ? true : false;
115 break;
116 /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */
117 case NS_rtf::LN_UNUSED1_3: //unused
118 /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */
119 case NS_rtf::LN_FF: //unused
120 /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */
121 case NS_rtf::LN_UNUSED1_7: //unused
122 break;
123 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
124 case NS_rtf::LN_WWEIGHT:
125 m_pImpl->pCurrentEntry->nBaseWeight = nIntValue;
126 break;
127 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
128 case NS_rtf::LN_CHS:
129 m_pImpl->pCurrentEntry->nTextEncoding = nIntValue;
130 break;
131 /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */
132 case NS_rtf::LN_IXCHSZALT:
133 break;
134 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
135 case NS_rtf::LN_PANOSE:
136 m_pImpl->pCurrentEntry->sPanose += sValue;
137 break;
138 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
139 case NS_rtf::LN_FS:
140 m_pImpl->pCurrentEntry->sFontSignature += sValue;
141 break;
142 // case NS_rtf::LN_STI: break;
143 // case NS_rtf::LN_FSCRATCH: break;
144 // case NS_rtf::LN_FINVALHEIGHT: break;
145 // case NS_rtf::LN_FHASUPE: break;
146 // case NS_rtf::LN_FMASSCOPY: break;
147 // case NS_rtf::LN_SGC: break;
148 // case NS_rtf::LN_ISTDBASE: break;
149 // case NS_rtf::LN_CUPX: break;
150 // case NS_rtf::LN_ISTDNEXT: break;
151 // case NS_rtf::LN_BCHUPE: break;
152 // case NS_rtf::LN_FAUTOREDEF: break;
153 // case NS_rtf::LN_FHIDDEN: break;
154 // case NS_rtf::LN_UNUSED8_3: break;
155 // case NS_rtf::LN_CSTD: break;
156 // case NS_rtf::LN_CBSTDBASEINFILE: break;
157 // case NS_rtf::LN_FSTDSTYLENAMESWRITTEN: break;
158 // case NS_rtf::LN_UNUSED4_2: break;
159 // case NS_rtf::LN_STIMAXWHENSAVED: break;
160 // case NS_rtf::LN_ISTDMAXFIXEDWHENSAVED: break;
161 // case NS_rtf::LN_NVERBUILTINNAMESWHENSAVED: break;
162 // case NS_rtf::LN_RGFTCSTANDARDCHPSTSH: break;
163 // case NS_rtf::LN_WIDENT: break;
164 // case NS_rtf::LN_NFIB: break;
165 // case NS_rtf::LN_NPRODUCT: break;
166 // case NS_rtf::LN_LID: break;
167 // case NS_rtf::LN_PNNEXT: break;
168 // case NS_rtf::LN_FDOT: break;
169 // case NS_rtf::LN_FGLSY: break;
170 // case NS_rtf::LN_FCOMPLEX: break;
171 // case NS_rtf::LN_FHASPIC: break;
172 // case NS_rtf::LN_CQUICKSAVES: break;
173 // case NS_rtf::LN_FENCRYPTED: break;
174 // case NS_rtf::LN_FWHICHTBLSTM: break;
175 // case NS_rtf::LN_FREADONLYRECOMMENDED: break;
176 // case NS_rtf::LN_FWRITERESERVATION: break;
177 // case NS_rtf::LN_FEXTCHAR: break;
178 // case NS_rtf::LN_FLOADOVERRIDE: break;
179 // case NS_rtf::LN_FFAREAST: break;
180 // case NS_rtf::LN_FCRYPTO: break;
181 // case NS_rtf::LN_NFIBBACK: break;
182 // case NS_rtf::LN_LKEY: break;
183 // case NS_rtf::LN_ENVR: break;
184 // case NS_rtf::LN_FMAC: break;
185 // case NS_rtf::LN_FEMPTYSPECIAL: break;
186 // case NS_rtf::LN_FLOADOVERRIDEPAGE: break;
187 // case NS_rtf::LN_FFUTURESAVEDUNDO: break;
188 // case NS_rtf::LN_FWORD97SAVED: break;
189 // case NS_rtf::LN_FSPARE0: break;
190 // case NS_rtf::LN_CHSTABLES: break;
191 // case NS_rtf::LN_FCMIN: break;
192 // case NS_rtf::LN_FCMAC: break;
193 // case NS_rtf::LN_CSW: break;
194 // case NS_rtf::LN_WMAGICCREATED: break;
195 // case NS_rtf::LN_WMAGICREVISED: break;
196 // case NS_rtf::LN_WMAGICCREATEDPRIVATE: break;
197 // case NS_rtf::LN_WMAGICREVISEDPRIVATE: break;
198 // case NS_rtf::LN_PNFBPCHPFIRST_W6: break;
199 // case NS_rtf::LN_PNCHPFIRST_W6: break;
200 // case NS_rtf::LN_CPNBTECHP_W6: break;
201 // case NS_rtf::LN_PNFBPPAPFIRST_W6: break;
202 // case NS_rtf::LN_PNPAPFIRST_W6: break;
203 // case NS_rtf::LN_CPNBTEPAP_W6: break;
204 // case NS_rtf::LN_PNFBPLVCFIRST_W6: break;
205 // case NS_rtf::LN_PNLVCFIRST_W6: break;
206 // case NS_rtf::LN_CPNBTELVC_W6: break;
207 // case NS_rtf::LN_LIDFE: break;
208 // case NS_rtf::LN_CLW: break;
209 // case NS_rtf::LN_CBMAC: break;
210 // case NS_rtf::LN_LPRODUCTCREATED: break;
211 // case NS_rtf::LN_LPRODUCTREVISED: break;
212 // case NS_rtf::LN_CCPTEXT: break;
213 // case NS_rtf::LN_CCPFTN: break;
214 // case NS_rtf::LN_CCPHDD: break;
215 // case NS_rtf::LN_CCPMCR: break;
216 // case NS_rtf::LN_CCPATN: break;
217 // case NS_rtf::LN_CCPEDN: break;
218 // case NS_rtf::LN_CCPTXBX: break;
219 // case NS_rtf::LN_CCPHDRTXBX: break;
220 // case NS_rtf::LN_PNFBPCHPFIRST: break;
221 // case NS_rtf::LN_PNCHPFIRST: break;
222 // case NS_rtf::LN_CPNBTECHP: break;
223 // case NS_rtf::LN_PNFBPPAPFIRST: break;
224 // case NS_rtf::LN_PNPAPFIRST: break;
225 // case NS_rtf::LN_CPNBTEPAP: break;
226 // case NS_rtf::LN_PNFBPLVCFIRST: break;
227 // case NS_rtf::LN_PNLVCFIRST: break;
228 // case NS_rtf::LN_CPNBTELVC: break;
229 // case NS_rtf::LN_FCISLANDFIRST: break;
230 // case NS_rtf::LN_FCISLANDLIM: break;
231 // case NS_rtf::LN_CFCLCB: break;
232 // case NS_rtf::LN_FCSTSHFORIG: break;
233 // case NS_rtf::LN_LCBSTSHFORIG: break;
234 // case NS_rtf::LN_FCSTSHF: break;
235 // case NS_rtf::LN_LCBSTSHF: break;
236 // case NS_rtf::LN_FCPLCFFNDREF: break;
237 // case NS_rtf::LN_LCBPLCFFNDREF: break;
238 // case NS_rtf::LN_FCPLCFFNDTXT: break;
239 // case NS_rtf::LN_LCBPLCFFNDTXT: break;
240 // case NS_rtf::LN_FCPLCFANDREF: break;
241 // case NS_rtf::LN_LCBPLCFANDREF: break;
242 // case NS_rtf::LN_FCPLCFANDTXT: break;
243 // case NS_rtf::LN_LCBPLCFANDTXT: break;
244 // case NS_rtf::LN_FCPLCFSED: break;
245 // case NS_rtf::LN_LCBPLCFSED: break;
246 // case NS_rtf::LN_FCPLCFPAD: break;
247 // case NS_rtf::LN_LCBPLCFPAD: break;
248 // case NS_rtf::LN_FCPLCFPHE: break;
249 // case NS_rtf::LN_LCBPLCFPHE: break;
250 // case NS_rtf::LN_FCSTTBFGLSY: break;
251 // case NS_rtf::LN_LCBSTTBFGLSY: break;
252 // case NS_rtf::LN_FCPLCFGLSY: break;
253 // case NS_rtf::LN_LCBPLCFGLSY: break;
254 // case NS_rtf::LN_FCPLCFHDD: break;
255 // case NS_rtf::LN_LCBPLCFHDD: break;
256 // case NS_rtf::LN_FCPLCFBTECHPX: break;
257 // case NS_rtf::LN_LCBPLCFBTECHPX: break;
258 // case NS_rtf::LN_FCPLCFBTEPAPX: break;
259 // case NS_rtf::LN_LCBPLCFBTEPAPX: break;
260 // case NS_rtf::LN_FCPLCFSEA: break;
261 // case NS_rtf::LN_LCBPLCFSEA: break;
262 // case NS_rtf::LN_FCSTTBFFFN: break;
263 // case NS_rtf::LN_LCBSTTBFFFN: break;
264 // case NS_rtf::LN_FCPLCFFLDMOM: break;
265 // case NS_rtf::LN_LCBPLCFFLDMOM: break;
266 // case NS_rtf::LN_FCPLCFFLDHDR: break;
267 // case NS_rtf::LN_LCBPLCFFLDHDR: break;
268 // case NS_rtf::LN_FCPLCFFLDFTN: break;
269 // case NS_rtf::LN_LCBPLCFFLDFTN: break;
270 // case NS_rtf::LN_FCPLCFFLDATN: break;
271 // case NS_rtf::LN_LCBPLCFFLDATN: break;
272 // case NS_rtf::LN_FCPLCFFLDMCR: break;
273 // case NS_rtf::LN_LCBPLCFFLDMCR: break;
274 // case NS_rtf::LN_FCSTTBFBKMK: break;
275 // case NS_rtf::LN_LCBSTTBFBKMK: break;
276 // case NS_rtf::LN_FCPLCFBKF: break;
277 // case NS_rtf::LN_LCBPLCFBKF: break;
278 // case NS_rtf::LN_FCPLCFBKL: break;
279 // case NS_rtf::LN_LCBPLCFBKL: break;
280 // case NS_rtf::LN_FCCMDS: break;
281 // case NS_rtf::LN_LCBCMDS: break;
282 // case NS_rtf::LN_FCPLCMCR: break;
283 // case NS_rtf::LN_LCBPLCMCR: break;
284 // case NS_rtf::LN_FCSTTBFMCR: break;
285 // case NS_rtf::LN_LCBSTTBFMCR: break;
286 // case NS_rtf::LN_FCPRDRVR: break;
287 // case NS_rtf::LN_LCBPRDRVR: break;
288 // case NS_rtf::LN_FCPRENVPORT: break;
289 // case NS_rtf::LN_LCBPRENVPORT: break;
290 // case NS_rtf::LN_FCPRENVLAND: break;
291 // case NS_rtf::LN_LCBPRENVLAND: break;
292 // case NS_rtf::LN_FCWSS: break;
293 // case NS_rtf::LN_LCBWSS: break;
294 // case NS_rtf::LN_FCDOP: break;
295 // case NS_rtf::LN_LCBDOP: break;
296 // case NS_rtf::LN_FCSTTBFASSOC: break;
297 // case NS_rtf::LN_LCBSTTBFASSOC: break;
298 // case NS_rtf::LN_FCCLX: break;
299 // case NS_rtf::LN_LCBCLX: break;
300 // case NS_rtf::LN_FCPLCFPGDFTN: break;
301 // case NS_rtf::LN_LCBPLCFPGDFTN: break;
302 // case NS_rtf::LN_FCAUTOSAVESOURCE: break;
303 // case NS_rtf::LN_LCBAUTOSAVESOURCE: break;
304 // case NS_rtf::LN_FCGRPXSTATNOWNERS: break;
305 // case NS_rtf::LN_LCBGRPXSTATNOWNERS: break;
306 // case NS_rtf::LN_FCSTTBFATNBKMK: break;
307 // case NS_rtf::LN_LCBSTTBFATNBKMK: break;
308 // case NS_rtf::LN_FCPLCDOAMOM: break;
309 // case NS_rtf::LN_LCBPLCDOAMOM: break;
310 // case NS_rtf::LN_FCPLCDOAHDR: break;
311 // case NS_rtf::LN_LCBPLCDOAHDR: break;
312 // case NS_rtf::LN_FCPLCSPAMOM: break;
313 // case NS_rtf::LN_LCBPLCSPAMOM: break;
314 // case NS_rtf::LN_FCPLCSPAHDR: break;
315 // case NS_rtf::LN_LCBPLCSPAHDR: break;
316 // case NS_rtf::LN_FCPLCFATNBKF: break;
317 // case NS_rtf::LN_LCBPLCFATNBKF: break;
318 // case NS_rtf::LN_FCPLCFATNBKL: break;
319 // case NS_rtf::LN_LCBPLCFATNBKL: break;
320 // case NS_rtf::LN_FCPMS: break;
321 // case NS_rtf::LN_LCBPMS: break;
322 // case NS_rtf::LN_FCFORMFLDSTTBF: break;
323 // case NS_rtf::LN_LCBFORMFLDSTTBF: break;
324 // case NS_rtf::LN_FCPLCFENDREF: break;
325 // case NS_rtf::LN_LCBPLCFENDREF: break;
326 // case NS_rtf::LN_FCPLCFENDTXT: break;
327 // case NS_rtf::LN_LCBPLCFENDTXT: break;
328 // case NS_rtf::LN_FCPLCFFLDEDN: break;
329 // case NS_rtf::LN_LCBPLCFFLDEDN: break;
330 // case NS_rtf::LN_FCPLCFPGDEDN: break;
331 // case NS_rtf::LN_LCBPLCFPGDEDN: break;
332 // case NS_rtf::LN_FCDGGINFO: break;
333 // case NS_rtf::LN_LCBDGGINFO: break;
334 // case NS_rtf::LN_FCSTTBFRMARK: break;
335 // case NS_rtf::LN_LCBSTTBFRMARK: break;
336 // case NS_rtf::LN_FCSTTBFCAPTION: break;
337 // case NS_rtf::LN_LCBSTTBFCAPTION: break;
338 // case NS_rtf::LN_FCSTTBFAUTOCAPTION: break;
339 // case NS_rtf::LN_LCBSTTBFAUTOCAPTION: break;
340 // case NS_rtf::LN_FCPLCFWKB: break;
341 // case NS_rtf::LN_LCBPLCFWKB: break;
342 // case NS_rtf::LN_FCPLCFSPL: break;
343 // case NS_rtf::LN_LCBPLCFSPL: break;
344 // case NS_rtf::LN_FCPLCFTXBXTXT: break;
345 // case NS_rtf::LN_LCBPLCFTXBXTXT: break;
346 // case NS_rtf::LN_FCPLCFFLDTXBX: break;
347 // case NS_rtf::LN_LCBPLCFFLDTXBX: break;
348 // case NS_rtf::LN_FCPLCFHDRTXBXTXT: break;
349 // case NS_rtf::LN_LCBPLCFHDRTXBXTXT: break;
350 // case NS_rtf::LN_FCPLCFFLDHDRTXBX: break;
351 // case NS_rtf::LN_LCBPLCFFLDHDRTXBX: break;
352 // case NS_rtf::LN_FCSTWUSER: break;
353 // case NS_rtf::LN_LCBSTWUSER: break;
354 // case NS_rtf::LN_FCSTTBTTMBD: break;
355 // case NS_rtf::LN_LCBSTTBTTMBD: break;
356 // case NS_rtf::LN_FCUNUSED: break;
357 // case NS_rtf::LN_LCBUNUSED: break;
358 // case NS_rtf::LN_FCPGDMOTHER: break;
359 // case NS_rtf::LN_LCBPGDMOTHER: break;
360 // case NS_rtf::LN_FCBKDMOTHER: break;
361 // case NS_rtf::LN_LCBBKDMOTHER: break;
362 // case NS_rtf::LN_FCPGDFTN: break;
363 // case NS_rtf::LN_LCBPGDFTN: break;
364 // case NS_rtf::LN_FCBKDFTN: break;
365 // case NS_rtf::LN_LCBBKDFTN: break;
366 // case NS_rtf::LN_FCPGDEDN: break;
367 // case NS_rtf::LN_LCBPGDEDN: break;
368 // case NS_rtf::LN_FCBKDEDN: break;
369 // case NS_rtf::LN_LCBBKDEDN: break;
370 // case NS_rtf::LN_FCSTTBFINTLFLD: break;
371 // case NS_rtf::LN_LCBSTTBFINTLFLD: break;
372 // case NS_rtf::LN_FCROUTESLIP: break;
373 // case NS_rtf::LN_LCBROUTESLIP: break;
374 // case NS_rtf::LN_FCSTTBSAVEDBY: break;
375 // case NS_rtf::LN_LCBSTTBSAVEDBY: break;
376 // case NS_rtf::LN_FCSTTBFNM: break;
377 // case NS_rtf::LN_LCBSTTBFNM: break;
378 // case NS_rtf::LN_FCPLCFLST: break;
379 // case NS_rtf::LN_LCBPLCFLST: break;
380 // case NS_rtf::LN_FCPLFLFO: break;
381 // case NS_rtf::LN_LCBPLFLFO: break;
382 // case NS_rtf::LN_FCPLCFTXBXBKD: break;
383 // case NS_rtf::LN_LCBPLCFTXBXBKD: break;
384 // case NS_rtf::LN_FCPLCFTXBXHDRBKD: break;
385 // case NS_rtf::LN_LCBPLCFTXBXHDRBKD: break;
386 // case NS_rtf::LN_FCDOCUNDO: break;
387 // case NS_rtf::LN_LCBDOCUNDO: break;
388 // case NS_rtf::LN_FCRGBUSE: break;
389 // case NS_rtf::LN_LCBRGBUSE: break;
390 // case NS_rtf::LN_FCUSP: break;
391 // case NS_rtf::LN_LCBUSP: break;
392 // case NS_rtf::LN_FCUSKF: break;
393 // case NS_rtf::LN_LCBUSKF: break;
394 // case NS_rtf::LN_FCPLCUPCRGBUSE: break;
395 // case NS_rtf::LN_LCBPLCUPCRGBUSE: break;
396 // case NS_rtf::LN_FCPLCUPCUSP: break;
397 // case NS_rtf::LN_LCBPLCUPCUSP: break;
398 // case NS_rtf::LN_FCSTTBGLSYSTYLE: break;
399 // case NS_rtf::LN_LCBSTTBGLSYSTYLE: break;
400 // case NS_rtf::LN_FCPLGOSL: break;
401 // case NS_rtf::LN_LCBPLGOSL: break;
402 // case NS_rtf::LN_FCPLCOCX: break;
403 // case NS_rtf::LN_LCBPLCOCX: break;
404 // case NS_rtf::LN_FCPLCFBTELVC: break;
405 // case NS_rtf::LN_LCBPLCFBTELVC: break;
406 // case NS_rtf::LN_DWLOWDATETIME: break;
407 // case NS_rtf::LN_DWHIGHDATETIME: break;
408 // case NS_rtf::LN_FCPLCFLVC: break;
409 // case NS_rtf::LN_LCBPLCFLVC: break;
410 // case NS_rtf::LN_FCPLCASUMY: break;
411 // case NS_rtf::LN_LCBPLCASUMY: break;
412 // case NS_rtf::LN_FCPLCFGRAM: break;
413 // case NS_rtf::LN_LCBPLCFGRAM: break;
414 // case NS_rtf::LN_FCSTTBLISTNAMES: break;
415 // case NS_rtf::LN_LCBSTTBLISTNAMES: break;
416 // case NS_rtf::LN_FCSTTBFUSSR: break;
417 // case NS_rtf::LN_LCBSTTBFUSSR: break;
418 // case NS_rtf::LN_FN: break;
419 // case NS_rtf::LN_FCSEPX: break;
420 // case NS_rtf::LN_FNMPR: break;
421 // case NS_rtf::LN_FCMPR: break;
422 // case NS_rtf::LN_ICOFORE: break;
423 // case NS_rtf::LN_ICOBACK: break;
424 // case NS_rtf::LN_IPAT: break;
425 // case NS_rtf::LN_SHDFORECOLOR: break;
426 // case NS_rtf::LN_SHDBACKCOLOR: break;
427 // case NS_rtf::LN_SHDPATTERN: break;
428 // case NS_rtf::LN_DPTLINEWIDTH: break;
429 // case NS_rtf::LN_BRCTYPE: break;
430 // case NS_rtf::LN_ICO: break;
431 // case NS_rtf::LN_DPTSPACE: break;
432 // case NS_rtf::LN_FSHADOW: break;
433 // case NS_rtf::LN_FFRAME: break;
434 // case NS_rtf::LN_UNUSED2_15: break;
435 // case NS_rtf::LN_FFIRSTMERGED: break;
436 // case NS_rtf::LN_FMERGED: break;
437 // case NS_rtf::LN_FVERTICAL: break;
438 // case NS_rtf::LN_FBACKWARD: break;
439 // case NS_rtf::LN_FROTATEFONT: break;
440 // case NS_rtf::LN_FVERTMERGE: break;
441 // case NS_rtf::LN_FVERTRESTART: break;
442 // case NS_rtf::LN_VERTALIGN: break;
443 // case NS_rtf::LN_FUNUSED: break;
444 // case NS_rtf::LN_WUNUSED: break;
445 // case NS_rtf::LN_BRCTOP: break;
446 // case NS_rtf::LN_BRCLEFT: break;
447 // case NS_rtf::LN_BRCBOTTOM: break;
448 // case NS_rtf::LN_BRCRIGHT: break;
449 // case NS_rtf::LN_IBKL: break;
450 // case NS_rtf::LN_ITCFIRST: break;
451 // case NS_rtf::LN_FPUB: break;
452 // case NS_rtf::LN_ITCLIM: break;
453 // case NS_rtf::LN_FCOL: break;
454 // case NS_rtf::LN_LINECOLOR: break;
455 // case NS_rtf::LN_LINEWIDTH: break;
456 // case NS_rtf::LN_LINETYPE: break;
457 // case NS_rtf::LN_MM: break;
458 // case NS_rtf::LN_XEXT: break;
459 // case NS_rtf::LN_YEXT: break;
460 // case NS_rtf::LN_HMF: break;
461 // case NS_rtf::LN_LCB: break;
462 // case NS_rtf::LN_CBHEADER: break;
463 // case NS_rtf::LN_MFP: break;
464 // case NS_rtf::LN_BM_RCWINMF: break;
465 // case NS_rtf::LN_DXAGOAL: break;
466 // case NS_rtf::LN_DYAGOAL: break;
467 // case NS_rtf::LN_MX: break;
468 // case NS_rtf::LN_MY: break;
469 // case NS_rtf::LN_DXACROPLEFT: break;
470 // case NS_rtf::LN_DYACROPTOP: break;
471 // case NS_rtf::LN_DXACROPRIGHT: break;
472 // case NS_rtf::LN_DYACROPBOTTOM: break;
473 // case NS_rtf::LN_BRCL: break;
474 // case NS_rtf::LN_FFRAMEEMPTY: break;
475 // case NS_rtf::LN_FBITMAP: break;
476 // case NS_rtf::LN_FDRAWHATCH: break;
477 // case NS_rtf::LN_FERROR: break;
478 // case NS_rtf::LN_BPP: break;
479 // case NS_rtf::LN_DXAORIGIN: break;
480 // case NS_rtf::LN_DYAORIGIN: break;
481 // case NS_rtf::LN_CPROPS: break;
482 // case NS_rtf::LN_LINEPROPSTOP: break;
483 // case NS_rtf::LN_LINEPROPSLEFT: break;
484 // case NS_rtf::LN_LINEPROPSBOTTOM: break;
485 // case NS_rtf::LN_LINEPROPSRIGHT: break;
486 // case NS_rtf::LN_LINEPROPSHORIZONTAL: break;
487 // case NS_rtf::LN_LINEPROPSVERTICAL: break;
488 // case NS_rtf::LN_headerr: break;
489 // case NS_rtf::LN_footerr: break;
490 // case NS_rtf::LN_endnote: break;
491 // case NS_rtf::LN_BOOKMARKNAME: break;
492
493 // case NS_rtf::LN_LISTLEVEL: break;
494 // case NS_rtf::LN_LFO: break;
495 case NS_rtf::LN_F:
496 break;
497 case NS_rtf::LN_ALTFONTNAME:
498 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
499 m_pImpl->pCurrentEntry->sAlternativeFont = sValue;
500 break;
501 case NS_rtf::LN_XSZFFN:
502 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
503 case NS_ooxml::LN_CT_Font_name:
504 /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */
505 m_pImpl->pCurrentEntry->sFontName = sValue;
506 break;
507 // case NS_rtf::LN_XSTZNAME: break;
508 // case NS_rtf::LN_XSTZNAME1: break;
509 // case NS_rtf::LN_UPXSTART: break;
510 // case NS_rtf::LN_UPX: break;
511 // case NS_rtf::LN_sed: break;
512 // case NS_rtf::LN_picf: break;
513 // case NS_rtf::LN_rgbrc: break;
514 // case NS_rtf::LN_shd: break;
515 // case NS_rtf::LN_cellShd: break;
516 // case NS_rtf::LN_cellTopColor: break;
517 // case NS_rtf::LN_cellLeftColor: break;
518 // case NS_rtf::LN_cellBottomColor: break;
519 // case NS_rtf::LN_cellRightColor: break;
520
521 // case NS_rtf::LN_LISTTABLE: break;
522 // case NS_rtf::LN_LFOTABLE: break;
523 // case NS_rtf::LN_FONTTABLE: break;
524 // case NS_rtf::LN_STYLESHEET: break;
525 default:
526 {
527 //----> debug
528 int nVal = val.getInt();
529 ++nVal;
530 //<---- debug
531 }
532 }
533 }
534 /*-- 19.06.2006 12:04:33---------------------------------------------------
535
536 -----------------------------------------------------------------------*/
lcl_sprm(Sprm & rSprm)537 void FontTable::lcl_sprm(Sprm& rSprm)
538 {
539 OSL_ENSURE( m_pImpl->pCurrentEntry, "current entry has to be set here");
540 if(!m_pImpl->pCurrentEntry)
541 return ;
542 sal_uInt32 nSprmId = rSprm.getId();
543 (void)nSprmId;
544
545 Value::Pointer_t pValue = rSprm.getValue();
546 sal_Int32 nIntValue = pValue->getInt();
547 (void)nIntValue;
548 rtl::OUString sStringValue = pValue->getString();
549
550 //printf ( "FontTable::sprm(0x%.4x, 0x%.4x) [%s]\n", (unsigned int)nSprmId, (unsigned int)nIntValue, ::rtl::OUStringToOString(sStringValue, RTL_TEXTENCODING_DONTKNOW).getStr());
551
552 /* switch(nSprmId)
553 {
554 default:
555 {
556 OSL_ENSURE( false, "FontTable::sprm()"); //
557 //Value::Pointer_t pValue_ = rSprm.getValue();
558 }
559 }*/
560 }
561
562 /*-- 19.06.2006 12:04:33---------------------------------------------------
563
564 -----------------------------------------------------------------------*/
lcl_entry(int,writerfilter::Reference<Properties>::Pointer_t ref)565 void FontTable::lcl_entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref)
566 {
567 //create a new font entry
568 OSL_ENSURE( !m_pImpl->pCurrentEntry, "current entry has to be NULL here");
569 m_pImpl->pCurrentEntry.reset(new FontEntry);
570 ref->resolve(*this);
571 //append it to the table
572 m_pImpl->aFontEntries.push_back( m_pImpl->pCurrentEntry );
573 m_pImpl->pCurrentEntry.reset();
574 }
575 /*-- 19.06.2006 12:04:34---------------------------------------------------
576
577 -----------------------------------------------------------------------*/
lcl_startSectionGroup()578 void FontTable::lcl_startSectionGroup()
579 {
580 }
581 /*-- 19.06.2006 12:04:35---------------------------------------------------
582
583 -----------------------------------------------------------------------*/
lcl_endSectionGroup()584 void FontTable::lcl_endSectionGroup()
585 {
586 }
587 /*-- 19.06.2006 12:04:35---------------------------------------------------
588
589 -----------------------------------------------------------------------*/
lcl_startParagraphGroup()590 void FontTable::lcl_startParagraphGroup()
591 {
592 }
593 /*-- 19.06.2006 12:04:35---------------------------------------------------
594
595 -----------------------------------------------------------------------*/
lcl_endParagraphGroup()596 void FontTable::lcl_endParagraphGroup()
597 {
598 }
599 /*-- 19.06.2006 12:04:35---------------------------------------------------
600
601 -----------------------------------------------------------------------*/
lcl_startCharacterGroup()602 void FontTable::lcl_startCharacterGroup()
603 {
604 }
605 /*-- 19.06.2006 12:04:35---------------------------------------------------
606
607 -----------------------------------------------------------------------*/
lcl_endCharacterGroup()608 void FontTable::lcl_endCharacterGroup()
609 {
610 }
611 /*-- 19.06.2006 12:04:36---------------------------------------------------
612
613 -----------------------------------------------------------------------*/
lcl_text(const sal_uInt8 *,size_t)614 void FontTable::lcl_text(const sal_uInt8*, size_t )
615 {
616 }
617 /*-- 19.06.2006 12:04:36---------------------------------------------------
618
619 -----------------------------------------------------------------------*/
lcl_utext(const sal_uInt8 *,size_t)620 void FontTable::lcl_utext(const sal_uInt8* , size_t)
621 {
622 }
623 /*-- 19.06.2006 12:04:37---------------------------------------------------
624
625 -----------------------------------------------------------------------*/
lcl_props(writerfilter::Reference<Properties>::Pointer_t)626 void FontTable::lcl_props(writerfilter::Reference<Properties>::Pointer_t)
627 {
628 }
629 /*-- 19.06.2006 12:04:37---------------------------------------------------
630
631 -----------------------------------------------------------------------*/
lcl_table(Id,writerfilter::Reference<Table>::Pointer_t)632 void FontTable::lcl_table(Id, writerfilter::Reference<Table>::Pointer_t)
633 {
634 }
635 /*-- 19.06.2006 12:04:38---------------------------------------------------
636
637 -----------------------------------------------------------------------*/
lcl_substream(Id,::writerfilter::Reference<Stream>::Pointer_t)638 void FontTable::lcl_substream(Id, ::writerfilter::Reference<Stream>::Pointer_t)
639 {
640 }
641 /*-- 19.06.2006 12:04:39---------------------------------------------------
642
643 -----------------------------------------------------------------------*/
lcl_info(const string &)644 void FontTable::lcl_info(const string& )
645 {
646 }
647
lcl_startShape(::com::sun::star::uno::Reference<::com::sun::star::drawing::XShape>)648 void FontTable::lcl_startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > )
649 {
650 }
651
lcl_endShape()652 void FontTable::lcl_endShape( )
653 {
654 }
655
656 /*-- 21.06.2006 11:21:38---------------------------------------------------
657
658 -----------------------------------------------------------------------*/
getFontEntry(sal_uInt32 nIndex)659 const FontEntry::Pointer_t FontTable::getFontEntry(sal_uInt32 nIndex)
660 {
661 return (m_pImpl->aFontEntries.size() > nIndex)
662 ? m_pImpl->aFontEntries[nIndex]
663 : FontEntry::Pointer_t();
664 }
665 /*-- 21.06.2006 11:21:38---------------------------------------------------
666
667 -----------------------------------------------------------------------*/
size()668 sal_uInt32 FontTable::size()
669 {
670 return m_pImpl->aFontEntries.size();
671 }
672
673 }//namespace dmapper
674 }//namespace writerfilter
675