diff options
Diffstat (limited to 'svtools/source/svhtml/htmlout.cxx')
-rw-r--r-- | svtools/source/svhtml/htmlout.cxx | 998 |
1 files changed, 0 insertions, 998 deletions
diff --git a/svtools/source/svhtml/htmlout.cxx b/svtools/source/svhtml/htmlout.cxx deleted file mode 100644 index e2c2ab9cb5..0000000000 --- a/svtools/source/svhtml/htmlout.cxx +++ /dev/null @@ -1,998 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_svtools.hxx" - -#include <tools/urlobj.hxx> -#include <svl/zformat.hxx> -#include <svl/macitem.hxx> -#include <tools/cachestr.hxx> -#include <vcl/svapp.hxx> -#include <svl/zforlist.hxx> - -#include <svtools/htmlout.hxx> -#include <svtools/htmlkywd.hxx> -#include <svtools/imap.hxx> -#include <svtools/imaprect.hxx> -#include <svtools/imapcirc.hxx> -#include <svtools/imappoly.hxx> -#include "svl/urihelper.hxx" - -#if defined(UNX) -const sal_Char HTMLOutFuncs::sNewLine = '\012'; -#else -const sal_Char HTMLOutFuncs::sNewLine[] = "\015\012"; -#endif - -#define TXTCONV_BUFFER_SIZE 20 - -HTMLOutContext::HTMLOutContext( rtl_TextEncoding eDestEnc ) -{ - m_eDestEnc = RTL_TEXTENCODING_DONTKNOW == eDestEnc - ? gsl_getSystemTextEncoding() - : eDestEnc; - - m_hConv = rtl_createUnicodeToTextConverter( eDestEnc ); - DBG_ASSERT( m_hConv, - "HTMLOutContext::HTMLOutContext: no converter for source encoding" ); - m_hContext = m_hConv ? rtl_createUnicodeToTextContext( m_hConv ) - : (rtl_TextToUnicodeContext)1; -} - -HTMLOutContext::~HTMLOutContext() -{ - rtl_destroyUnicodeToTextContext( m_hConv, m_hContext ); - rtl_destroyUnicodeToTextConverter( m_hConv ); -} - -const sal_Char *lcl_svhtml_GetEntityForChar( sal_Unicode c, - rtl_TextEncoding eDestEnc ) -{ - const sal_Char* pStr = 0; - - // Note: We currently handle special cases for ISO-8859-2 here simply because - // the code was already submitted. But we should also handle other code pages - // as well as the code becomes available. - - if( eDestEnc == RTL_TEXTENCODING_ISO_8859_2 || eDestEnc == RTL_TEXTENCODING_MS_1250 ) - { - // Don't handle the following characters for Easter European (ISO-8859-2). - switch ( c ) - { - case 164: // curren - case 184: // ccedil - case 193: // Aacute - case 194: // Acirc - case 196: // Auml - case 199: // Ccedil - case 201: // Eacute - case 203: // Euml - case 205: // Iacute - case 206: // Icirc - case 211: // Oacute - case 212: // Ocirc - case 214: // Ouml - case 215: // times - case 218: // Uacute - case 220: // Uuml - case 221: // Yacute - case 225: // aacute - case 226: // acirc - case 228: // auml - case 233: // eacute - case 235: // euml - case 237: // iacute - case 238: // icirc - case 243: // oacute - case 244: // ocirc - case 246: // ouml - case 247: // divide - case 250: // uacute - case 252: // uuml - case 253: // yacute - case 352: // Scaron - case 353: // scaron - return pStr; - } - } - - // TODO: handle more special cases for other code pages. - - switch( c ) - { -// case '\x0a': return HTMLOutFuncs::Out_Tag( rStream, OOO_STRING_SVTOOLS_HTML_linebreak ); - - case '<': pStr = OOO_STRING_SVTOOLS_HTML_C_lt; break; - case '>': pStr = OOO_STRING_SVTOOLS_HTML_C_gt; break; - case '&': pStr = OOO_STRING_SVTOOLS_HTML_C_amp; break; - case '"': pStr = OOO_STRING_SVTOOLS_HTML_C_quot; break; - - case 161: pStr = OOO_STRING_SVTOOLS_HTML_S_iexcl; break; - case 162: pStr = OOO_STRING_SVTOOLS_HTML_S_cent; break; - case 163: pStr = OOO_STRING_SVTOOLS_HTML_S_pound; break; - case 164: pStr = OOO_STRING_SVTOOLS_HTML_S_curren; break; - case 165: pStr = OOO_STRING_SVTOOLS_HTML_S_yen; break; - case 166: pStr = OOO_STRING_SVTOOLS_HTML_S_brvbar; break; - case 167: pStr = OOO_STRING_SVTOOLS_HTML_S_sect; break; - case 168: pStr = OOO_STRING_SVTOOLS_HTML_S_uml; break; - case 169: pStr = OOO_STRING_SVTOOLS_HTML_S_copy; break; - case 170: pStr = OOO_STRING_SVTOOLS_HTML_S_ordf; break; - case 171: pStr = OOO_STRING_SVTOOLS_HTML_S_laquo; break; - case 172: pStr = OOO_STRING_SVTOOLS_HTML_S_not; break; - case 174: pStr = OOO_STRING_SVTOOLS_HTML_S_reg; break; - case 175: pStr = OOO_STRING_SVTOOLS_HTML_S_macr; break; - case 176: pStr = OOO_STRING_SVTOOLS_HTML_S_deg; break; - case 177: pStr = OOO_STRING_SVTOOLS_HTML_S_plusmn; break; - case 178: pStr = OOO_STRING_SVTOOLS_HTML_S_sup2; break; - case 179: pStr = OOO_STRING_SVTOOLS_HTML_S_sup3; break; - case 180: pStr = OOO_STRING_SVTOOLS_HTML_S_acute; break; - case 181: pStr = OOO_STRING_SVTOOLS_HTML_S_micro; break; - case 182: pStr = OOO_STRING_SVTOOLS_HTML_S_para; break; - case 183: pStr = OOO_STRING_SVTOOLS_HTML_S_middot; break; - case 184: pStr = OOO_STRING_SVTOOLS_HTML_S_cedil; break; - case 185: pStr = OOO_STRING_SVTOOLS_HTML_S_sup1; break; - case 186: pStr = OOO_STRING_SVTOOLS_HTML_S_ordm; break; - case 187: pStr = OOO_STRING_SVTOOLS_HTML_S_raquo; break; - case 188: pStr = OOO_STRING_SVTOOLS_HTML_S_frac14; break; - case 189: pStr = OOO_STRING_SVTOOLS_HTML_S_frac12; break; - case 190: pStr = OOO_STRING_SVTOOLS_HTML_S_frac34; break; - case 191: pStr = OOO_STRING_SVTOOLS_HTML_S_iquest; break; - - case 192: pStr = OOO_STRING_SVTOOLS_HTML_C_Agrave; break; - case 193: pStr = OOO_STRING_SVTOOLS_HTML_C_Aacute; break; - case 194: pStr = OOO_STRING_SVTOOLS_HTML_C_Acirc; break; - case 195: pStr = OOO_STRING_SVTOOLS_HTML_C_Atilde; break; - case 196: pStr = OOO_STRING_SVTOOLS_HTML_C_Auml; break; - case 197: pStr = OOO_STRING_SVTOOLS_HTML_C_Aring; break; - case 198: pStr = OOO_STRING_SVTOOLS_HTML_C_AElig; break; - case 199: pStr = OOO_STRING_SVTOOLS_HTML_C_Ccedil; break; - case 200: pStr = OOO_STRING_SVTOOLS_HTML_C_Egrave; break; - case 201: pStr = OOO_STRING_SVTOOLS_HTML_C_Eacute; break; - case 202: pStr = OOO_STRING_SVTOOLS_HTML_C_Ecirc; break; - case 203: pStr = OOO_STRING_SVTOOLS_HTML_C_Euml; break; - case 204: pStr = OOO_STRING_SVTOOLS_HTML_C_Igrave; break; - case 205: pStr = OOO_STRING_SVTOOLS_HTML_C_Iacute; break; - case 206: pStr = OOO_STRING_SVTOOLS_HTML_C_Icirc; break; - case 207: pStr = OOO_STRING_SVTOOLS_HTML_C_Iuml; break; - case 208: pStr = OOO_STRING_SVTOOLS_HTML_C_ETH; break; - case 209: pStr = OOO_STRING_SVTOOLS_HTML_C_Ntilde; break; - case 210: pStr = OOO_STRING_SVTOOLS_HTML_C_Ograve; break; - case 211: pStr = OOO_STRING_SVTOOLS_HTML_C_Oacute; break; - case 212: pStr = OOO_STRING_SVTOOLS_HTML_C_Ocirc; break; - case 213: pStr = OOO_STRING_SVTOOLS_HTML_C_Otilde; break; - case 214: pStr = OOO_STRING_SVTOOLS_HTML_C_Ouml; break; - case 215: pStr = OOO_STRING_SVTOOLS_HTML_S_times; break; - case 216: pStr = OOO_STRING_SVTOOLS_HTML_C_Oslash; break; - case 217: pStr = OOO_STRING_SVTOOLS_HTML_C_Ugrave; break; - case 218: pStr = OOO_STRING_SVTOOLS_HTML_C_Uacute; break; - case 219: pStr = OOO_STRING_SVTOOLS_HTML_C_Ucirc; break; - case 220: pStr = OOO_STRING_SVTOOLS_HTML_C_Uuml; break; - case 221: pStr = OOO_STRING_SVTOOLS_HTML_C_Yacute; break; - - case 222: pStr = OOO_STRING_SVTOOLS_HTML_C_THORN; break; - case 223: pStr = OOO_STRING_SVTOOLS_HTML_C_szlig; break; - - case 224: pStr = OOO_STRING_SVTOOLS_HTML_S_agrave; break; - case 225: pStr = OOO_STRING_SVTOOLS_HTML_S_aacute; break; - case 226: pStr = OOO_STRING_SVTOOLS_HTML_S_acirc; break; - case 227: pStr = OOO_STRING_SVTOOLS_HTML_S_atilde; break; - case 228: pStr = OOO_STRING_SVTOOLS_HTML_S_auml; break; - case 229: pStr = OOO_STRING_SVTOOLS_HTML_S_aring; break; - case 230: pStr = OOO_STRING_SVTOOLS_HTML_S_aelig; break; - case 231: pStr = OOO_STRING_SVTOOLS_HTML_S_ccedil; break; - case 232: pStr = OOO_STRING_SVTOOLS_HTML_S_egrave; break; - case 233: pStr = OOO_STRING_SVTOOLS_HTML_S_eacute; break; - case 234: pStr = OOO_STRING_SVTOOLS_HTML_S_ecirc; break; - case 235: pStr = OOO_STRING_SVTOOLS_HTML_S_euml; break; - case 236: pStr = OOO_STRING_SVTOOLS_HTML_S_igrave; break; - case 237: pStr = OOO_STRING_SVTOOLS_HTML_S_iacute; break; - case 238: pStr = OOO_STRING_SVTOOLS_HTML_S_icirc; break; - case 239: pStr = OOO_STRING_SVTOOLS_HTML_S_iuml; break; - case 240: pStr = OOO_STRING_SVTOOLS_HTML_S_eth; break; - case 241: pStr = OOO_STRING_SVTOOLS_HTML_S_ntilde; break; - case 242: pStr = OOO_STRING_SVTOOLS_HTML_S_ograve; break; - case 243: pStr = OOO_STRING_SVTOOLS_HTML_S_oacute; break; - case 244: pStr = OOO_STRING_SVTOOLS_HTML_S_ocirc; break; - case 245: pStr = OOO_STRING_SVTOOLS_HTML_S_otilde; break; - case 246: pStr = OOO_STRING_SVTOOLS_HTML_S_ouml; break; - case 247: pStr = OOO_STRING_SVTOOLS_HTML_S_divide; break; - case 248: pStr = OOO_STRING_SVTOOLS_HTML_S_oslash; break; - case 249: pStr = OOO_STRING_SVTOOLS_HTML_S_ugrave; break; - case 250: pStr = OOO_STRING_SVTOOLS_HTML_S_uacute; break; - case 251: pStr = OOO_STRING_SVTOOLS_HTML_S_ucirc; break; - case 252: pStr = OOO_STRING_SVTOOLS_HTML_S_uuml; break; - case 253: pStr = OOO_STRING_SVTOOLS_HTML_S_yacute; break; - case 254: pStr = OOO_STRING_SVTOOLS_HTML_S_thorn; break; - case 255: pStr = OOO_STRING_SVTOOLS_HTML_S_yuml; break; - - case 338: pStr = OOO_STRING_SVTOOLS_HTML_S_OElig; break; - case 339: pStr = OOO_STRING_SVTOOLS_HTML_S_oelig; break; - case 352: pStr = OOO_STRING_SVTOOLS_HTML_S_Scaron; break; - case 353: pStr = OOO_STRING_SVTOOLS_HTML_S_scaron; break; - case 376: pStr = OOO_STRING_SVTOOLS_HTML_S_Yuml; break; - case 402: pStr = OOO_STRING_SVTOOLS_HTML_S_fnof; break; - case 710: pStr = OOO_STRING_SVTOOLS_HTML_S_circ; break; - case 732: pStr = OOO_STRING_SVTOOLS_HTML_S_tilde; break; - - // Greek chars are handled later, - // since they should *not* be transformed to entities - // when generating Greek text (== using Greek encoding) - - case 8194: pStr = OOO_STRING_SVTOOLS_HTML_S_ensp; break; - case 8195: pStr = OOO_STRING_SVTOOLS_HTML_S_emsp; break; - case 8201: pStr = OOO_STRING_SVTOOLS_HTML_S_thinsp; break; - case 8204: pStr = OOO_STRING_SVTOOLS_HTML_S_zwnj; break; - case 8205: pStr = OOO_STRING_SVTOOLS_HTML_S_zwj; break; - case 8206: pStr = OOO_STRING_SVTOOLS_HTML_S_lrm; break; - case 8207: pStr = OOO_STRING_SVTOOLS_HTML_S_rlm; break; - case 8211: pStr = OOO_STRING_SVTOOLS_HTML_S_ndash; break; - case 8212: pStr = OOO_STRING_SVTOOLS_HTML_S_mdash; break; - case 8216: pStr = OOO_STRING_SVTOOLS_HTML_S_lsquo; break; - case 8217: pStr = OOO_STRING_SVTOOLS_HTML_S_rsquo; break; - case 8218: pStr = OOO_STRING_SVTOOLS_HTML_S_sbquo; break; - case 8220: pStr = OOO_STRING_SVTOOLS_HTML_S_ldquo; break; - case 8221: pStr = OOO_STRING_SVTOOLS_HTML_S_rdquo; break; - case 8222: pStr = OOO_STRING_SVTOOLS_HTML_S_bdquo; break; - case 8224: pStr = OOO_STRING_SVTOOLS_HTML_S_dagger; break; - case 8225: pStr = OOO_STRING_SVTOOLS_HTML_S_Dagger; break; - case 8226: pStr = OOO_STRING_SVTOOLS_HTML_S_bull; break; - case 8230: pStr = OOO_STRING_SVTOOLS_HTML_S_hellip; break; - case 8240: pStr = OOO_STRING_SVTOOLS_HTML_S_permil; break; - case 8242: pStr = OOO_STRING_SVTOOLS_HTML_S_prime; break; - case 8243: pStr = OOO_STRING_SVTOOLS_HTML_S_Prime; break; - case 8249: pStr = OOO_STRING_SVTOOLS_HTML_S_lsaquo; break; - case 8250: pStr = OOO_STRING_SVTOOLS_HTML_S_rsaquo; break; - case 8254: pStr = OOO_STRING_SVTOOLS_HTML_S_oline; break; - case 8260: pStr = OOO_STRING_SVTOOLS_HTML_S_frasl; break; - case 8364: pStr = OOO_STRING_SVTOOLS_HTML_S_euro; break; - case 8465: pStr = OOO_STRING_SVTOOLS_HTML_S_image; break; - case 8472: pStr = OOO_STRING_SVTOOLS_HTML_S_weierp; break; - case 8476: pStr = OOO_STRING_SVTOOLS_HTML_S_real; break; - case 8482: pStr = OOO_STRING_SVTOOLS_HTML_S_trade; break; - case 8501: pStr = OOO_STRING_SVTOOLS_HTML_S_alefsym; break; - case 8592: pStr = OOO_STRING_SVTOOLS_HTML_S_larr; break; - case 8593: pStr = OOO_STRING_SVTOOLS_HTML_S_uarr; break; - case 8594: pStr = OOO_STRING_SVTOOLS_HTML_S_rarr; break; - case 8595: pStr = OOO_STRING_SVTOOLS_HTML_S_darr; break; - case 8596: pStr = OOO_STRING_SVTOOLS_HTML_S_harr; break; - case 8629: pStr = OOO_STRING_SVTOOLS_HTML_S_crarr; break; - case 8656: pStr = OOO_STRING_SVTOOLS_HTML_S_lArr; break; - case 8657: pStr = OOO_STRING_SVTOOLS_HTML_S_uArr; break; - case 8658: pStr = OOO_STRING_SVTOOLS_HTML_S_rArr; break; - case 8659: pStr = OOO_STRING_SVTOOLS_HTML_S_dArr; break; - case 8660: pStr = OOO_STRING_SVTOOLS_HTML_S_hArr; break; - case 8704: pStr = OOO_STRING_SVTOOLS_HTML_S_forall; break; - case 8706: pStr = OOO_STRING_SVTOOLS_HTML_S_part; break; - case 8707: pStr = OOO_STRING_SVTOOLS_HTML_S_exist; break; - case 8709: pStr = OOO_STRING_SVTOOLS_HTML_S_empty; break; - case 8711: pStr = OOO_STRING_SVTOOLS_HTML_S_nabla; break; - case 8712: pStr = OOO_STRING_SVTOOLS_HTML_S_isin; break; - case 8713: pStr = OOO_STRING_SVTOOLS_HTML_S_notin; break; - case 8715: pStr = OOO_STRING_SVTOOLS_HTML_S_ni; break; - case 8719: pStr = OOO_STRING_SVTOOLS_HTML_S_prod; break; - case 8721: pStr = OOO_STRING_SVTOOLS_HTML_S_sum; break; - case 8722: pStr = OOO_STRING_SVTOOLS_HTML_S_minus; break; - case 8727: pStr = OOO_STRING_SVTOOLS_HTML_S_lowast; break; - case 8730: pStr = OOO_STRING_SVTOOLS_HTML_S_radic; break; - case 8733: pStr = OOO_STRING_SVTOOLS_HTML_S_prop; break; - case 8734: pStr = OOO_STRING_SVTOOLS_HTML_S_infin; break; - case 8736: pStr = OOO_STRING_SVTOOLS_HTML_S_ang; break; - case 8743: pStr = OOO_STRING_SVTOOLS_HTML_S_and; break; - case 8744: pStr = OOO_STRING_SVTOOLS_HTML_S_or; break; - case 8745: pStr = OOO_STRING_SVTOOLS_HTML_S_cap; break; - case 8746: pStr = OOO_STRING_SVTOOLS_HTML_S_cup; break; - case 8747: pStr = OOO_STRING_SVTOOLS_HTML_S_int; break; - case 8756: pStr = OOO_STRING_SVTOOLS_HTML_S_there4; break; - case 8764: pStr = OOO_STRING_SVTOOLS_HTML_S_sim; break; - case 8773: pStr = OOO_STRING_SVTOOLS_HTML_S_cong; break; - case 8776: pStr = OOO_STRING_SVTOOLS_HTML_S_asymp; break; - case 8800: pStr = OOO_STRING_SVTOOLS_HTML_S_ne; break; - case 8801: pStr = OOO_STRING_SVTOOLS_HTML_S_equiv; break; - case 8804: pStr = OOO_STRING_SVTOOLS_HTML_S_le; break; - case 8805: pStr = OOO_STRING_SVTOOLS_HTML_S_ge; break; - case 8834: pStr = OOO_STRING_SVTOOLS_HTML_S_sub; break; - case 8835: pStr = OOO_STRING_SVTOOLS_HTML_S_sup; break; - case 8836: pStr = OOO_STRING_SVTOOLS_HTML_S_nsub; break; - case 8838: pStr = OOO_STRING_SVTOOLS_HTML_S_sube; break; - case 8839: pStr = OOO_STRING_SVTOOLS_HTML_S_supe; break; - case 8853: pStr = OOO_STRING_SVTOOLS_HTML_S_oplus; break; - case 8855: pStr = OOO_STRING_SVTOOLS_HTML_S_otimes; break; - case 8869: pStr = OOO_STRING_SVTOOLS_HTML_S_perp; break; - case 8901: pStr = OOO_STRING_SVTOOLS_HTML_S_sdot; break; - case 8968: pStr = OOO_STRING_SVTOOLS_HTML_S_lceil; break; - case 8969: pStr = OOO_STRING_SVTOOLS_HTML_S_rceil; break; - case 8970: pStr = OOO_STRING_SVTOOLS_HTML_S_lfloor; break; - case 8971: pStr = OOO_STRING_SVTOOLS_HTML_S_rfloor; break; - case 9001: pStr = OOO_STRING_SVTOOLS_HTML_S_lang; break; - case 9002: pStr = OOO_STRING_SVTOOLS_HTML_S_rang; break; - case 9674: pStr = OOO_STRING_SVTOOLS_HTML_S_loz; break; - case 9824: pStr = OOO_STRING_SVTOOLS_HTML_S_spades; break; - case 9827: pStr = OOO_STRING_SVTOOLS_HTML_S_clubs; break; - case 9829: pStr = OOO_STRING_SVTOOLS_HTML_S_hearts; break; - case 9830: pStr = OOO_STRING_SVTOOLS_HTML_S_diams; break; - } - - // Greek chars: if we do not produce a Greek encoding, - // transform them into entities - if( !pStr && - ( eDestEnc != RTL_TEXTENCODING_ISO_8859_7 ) && - ( eDestEnc != RTL_TEXTENCODING_MS_1253 ) ) - { - switch( c ) - { - case 913: pStr = OOO_STRING_SVTOOLS_HTML_S_Alpha; break; - case 914: pStr = OOO_STRING_SVTOOLS_HTML_S_Beta; break; - case 915: pStr = OOO_STRING_SVTOOLS_HTML_S_Gamma; break; - case 916: pStr = OOO_STRING_SVTOOLS_HTML_S_Delta; break; - case 917: pStr = OOO_STRING_SVTOOLS_HTML_S_Epsilon; break; - case 918: pStr = OOO_STRING_SVTOOLS_HTML_S_Zeta; break; - case 919: pStr = OOO_STRING_SVTOOLS_HTML_S_Eta; break; - case 920: pStr = OOO_STRING_SVTOOLS_HTML_S_Theta; break; - case 921: pStr = OOO_STRING_SVTOOLS_HTML_S_Iota; break; - case 922: pStr = OOO_STRING_SVTOOLS_HTML_S_Kappa; break; - case 923: pStr = OOO_STRING_SVTOOLS_HTML_S_Lambda; break; - case 924: pStr = OOO_STRING_SVTOOLS_HTML_S_Mu; break; - case 925: pStr = OOO_STRING_SVTOOLS_HTML_S_Nu; break; - case 926: pStr = OOO_STRING_SVTOOLS_HTML_S_Xi; break; - case 927: pStr = OOO_STRING_SVTOOLS_HTML_S_Omicron; break; - case 928: pStr = OOO_STRING_SVTOOLS_HTML_S_Pi; break; - case 929: pStr = OOO_STRING_SVTOOLS_HTML_S_Rho; break; - case 931: pStr = OOO_STRING_SVTOOLS_HTML_S_Sigma; break; - case 932: pStr = OOO_STRING_SVTOOLS_HTML_S_Tau; break; - case 933: pStr = OOO_STRING_SVTOOLS_HTML_S_Upsilon; break; - case 934: pStr = OOO_STRING_SVTOOLS_HTML_S_Phi; break; - case 935: pStr = OOO_STRING_SVTOOLS_HTML_S_Chi; break; - case 936: pStr = OOO_STRING_SVTOOLS_HTML_S_Psi; break; - case 937: pStr = OOO_STRING_SVTOOLS_HTML_S_Omega; break; - case 945: pStr = OOO_STRING_SVTOOLS_HTML_S_alpha; break; - case 946: pStr = OOO_STRING_SVTOOLS_HTML_S_beta; break; - case 947: pStr = OOO_STRING_SVTOOLS_HTML_S_gamma; break; - case 948: pStr = OOO_STRING_SVTOOLS_HTML_S_delta; break; - case 949: pStr = OOO_STRING_SVTOOLS_HTML_S_epsilon; break; - case 950: pStr = OOO_STRING_SVTOOLS_HTML_S_zeta; break; - case 951: pStr = OOO_STRING_SVTOOLS_HTML_S_eta; break; - case 952: pStr = OOO_STRING_SVTOOLS_HTML_S_theta; break; - case 953: pStr = OOO_STRING_SVTOOLS_HTML_S_iota; break; - case 954: pStr = OOO_STRING_SVTOOLS_HTML_S_kappa; break; - case 955: pStr = OOO_STRING_SVTOOLS_HTML_S_lambda; break; - case 956: pStr = OOO_STRING_SVTOOLS_HTML_S_mu; break; - case 957: pStr = OOO_STRING_SVTOOLS_HTML_S_nu; break; - case 958: pStr = OOO_STRING_SVTOOLS_HTML_S_xi; break; - case 959: pStr = OOO_STRING_SVTOOLS_HTML_S_omicron; break; - case 960: pStr = OOO_STRING_SVTOOLS_HTML_S_pi; break; - case 961: pStr = OOO_STRING_SVTOOLS_HTML_S_rho; break; - case 962: pStr = OOO_STRING_SVTOOLS_HTML_S_sigmaf; break; - case 963: pStr = OOO_STRING_SVTOOLS_HTML_S_sigma; break; - case 964: pStr = OOO_STRING_SVTOOLS_HTML_S_tau; break; - case 965: pStr = OOO_STRING_SVTOOLS_HTML_S_upsilon; break; - case 966: pStr = OOO_STRING_SVTOOLS_HTML_S_phi; break; - case 967: pStr = OOO_STRING_SVTOOLS_HTML_S_chi; break; - case 968: pStr = OOO_STRING_SVTOOLS_HTML_S_psi; break; - case 969: pStr = OOO_STRING_SVTOOLS_HTML_S_omega; break; - case 977: pStr = OOO_STRING_SVTOOLS_HTML_S_thetasym;break; - case 978: pStr = OOO_STRING_SVTOOLS_HTML_S_upsih; break; - case 982: pStr = OOO_STRING_SVTOOLS_HTML_S_piv; break; - } - } - - return pStr; -} - -void lcl_ConvertCharToHTML( sal_Unicode c, ByteString& rDest, - HTMLOutContext& rContext, - String *pNonConvertableChars ) -{ - DBG_ASSERT( RTL_TEXTENCODING_DONTKNOW != rContext.m_eDestEnc, - "wrong destination encoding" ); - const sal_Char *pStr = 0; - switch( c ) - { - case 0xA0: // is a hard blank -//!! the TextConverter has a problem with this character - so change it to -// a hard space - that's the same as our 5.2 - case 0x2011: // is a hard hyphen - pStr = OOO_STRING_SVTOOLS_HTML_S_nbsp; - break; - case 0xAD: // is a soft hyphen - pStr = OOO_STRING_SVTOOLS_HTML_S_shy; - break; - default: - // There may be an entity for the character. - // The new HTML4 entities above 255 are not used for UTF-8, - // because Netscape 4 does support UTF-8 but does not support - // these entities. - if( c < 128 || RTL_TEXTENCODING_UTF8 != rContext.m_eDestEnc ) - pStr = lcl_svhtml_GetEntityForChar( c, rContext.m_eDestEnc ); - break; - } - - sal_Char cBuffer[TXTCONV_BUFFER_SIZE]; - sal_uInt32 nInfo = 0; - sal_Size nSrcChars; - const sal_uInt32 nFlags = RTL_UNICODETOTEXT_FLAGS_NONSPACING_IGNORE| - RTL_UNICODETOTEXT_FLAGS_CONTROL_IGNORE| - RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR| - RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR; - if( pStr ) - { - sal_Size nLen = rtl_convertUnicodeToText( - rContext.m_hConv, rContext.m_hContext, &c, 0, - cBuffer, TXTCONV_BUFFER_SIZE, - nFlags|RTL_UNICODETOTEXT_FLAGS_FLUSH, - &nInfo, &nSrcChars ); - DBG_ASSERT( (nInfo & (RTL_UNICODETOTEXT_INFO_ERROR|RTL_UNICODETOTEXT_INFO_DESTBUFFERTOSMALL)) == 0, "HTMLOut: error while flushing" ); - sal_Char *pBuffer = cBuffer; - while( nLen-- ) - rDest += *pBuffer++; - ((rDest += '&') += pStr) += ';'; - } - else - { - sal_Size nLen = rtl_convertUnicodeToText( rContext.m_hConv, - rContext.m_hContext, &c, 1, - cBuffer, TXTCONV_BUFFER_SIZE, - nFlags, - &nInfo, &nSrcChars ); - if( nLen > 0 && (nInfo & (RTL_UNICODETOTEXT_INFO_ERROR|RTL_UNICODETOTEXT_INFO_DESTBUFFERTOSMALL)) == 0 ) - { - sal_Char *pBuffer = cBuffer; - while( nLen-- ) - rDest += *pBuffer++; - } - else - { - // If the character could not be converted to the destination - // character set, the UNICODE character is exported as character - // entity. - nLen = rtl_convertUnicodeToText( - rContext.m_hConv, rContext.m_hContext, &c, 0, - cBuffer, TXTCONV_BUFFER_SIZE, - nFlags|RTL_UNICODETOTEXT_FLAGS_FLUSH, - &nInfo, &nSrcChars ); - DBG_ASSERT( (nInfo & (RTL_UNICODETOTEXT_INFO_ERROR|RTL_UNICODETOTEXT_INFO_DESTBUFFERTOSMALL)) == 0, "HTMLOut: error while flushing" ); - sal_Char *pBuffer = cBuffer; - while( nLen-- ) - rDest += *pBuffer++; - - (((rDest += '&') += '#') += - ByteString(rtl::OString::valueOf(static_cast<sal_Int64>(c)))) += ';'; - if( pNonConvertableChars && - STRING_NOTFOUND == pNonConvertableChars->Search( c ) ) - pNonConvertableChars->Append( c ); - } - } -} - -sal_Bool lcl_FlushToAscii( ByteString& rDest, HTMLOutContext& rContext ) -{ - sal_Unicode c = 0; - sal_Char cBuffer[TXTCONV_BUFFER_SIZE]; - sal_uInt32 nInfo = 0; - sal_Size nSrcChars; - const sal_uInt32 nFlags = RTL_UNICODETOTEXT_FLAGS_NONSPACING_IGNORE| - RTL_UNICODETOTEXT_FLAGS_CONTROL_IGNORE| - RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR| - RTL_UNICODETOTEXT_FLAGS_FLUSH| - RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR; - sal_Size nLen = rtl_convertUnicodeToText( - rContext.m_hConv, rContext.m_hContext, &c, 0, - cBuffer, TXTCONV_BUFFER_SIZE, nFlags, - &nInfo, &nSrcChars ); - DBG_ASSERT( (nInfo & (RTL_UNICODETOTEXT_INFO_ERROR|RTL_UNICODETOTEXT_INFO_DESTBUFFERTOSMALL)) == 0, "HTMLOut: error while flushing" ); - sal_Bool bRet = nLen > 0; - sal_Char *pBuffer = cBuffer; - while( nLen-- ) - rDest += *pBuffer++; - return bRet; -} - -void HTMLOutFuncs::ConvertStringToHTML( const String& rSrc, - ByteString& rDest, - rtl_TextEncoding eDestEnc, - String *pNonConvertableChars ) -{ - HTMLOutContext aContext( eDestEnc ); - for( sal_uInt32 i=0UL, nLen = rSrc.Len(); i < nLen; i++ ) - lcl_ConvertCharToHTML( rSrc.GetChar( (xub_StrLen)i ), rDest, aContext, - pNonConvertableChars ); - lcl_FlushToAscii( rDest, aContext ); -} - -SvStream& HTMLOutFuncs::Out_AsciiTag( SvStream& rStream, const sal_Char *pStr, - sal_Bool bOn, rtl_TextEncoding ) -{ - sal_Char sStt[3] = "</"; - if( bOn ) - sStt[1] = 0; - return (rStream << sStt << pStr << '>'); -} - -SvStream& HTMLOutFuncs::Out_Char( SvStream& rStream, sal_Unicode c, - HTMLOutContext& rContext, - String *pNonConvertableChars ) -{ - ByteString sOut; - lcl_ConvertCharToHTML( c, sOut, rContext, pNonConvertableChars ); - rStream << sOut.GetBuffer(); - return rStream; -} - -SvStream& HTMLOutFuncs::Out_String( SvStream& rStream, const String& rStr, - rtl_TextEncoding eDestEnc, - String *pNonConvertableChars ) -{ - HTMLOutContext aContext( eDestEnc ); - xub_StrLen nLen = rStr.Len(); - for( xub_StrLen n = 0; n < nLen; n++ ) - HTMLOutFuncs::Out_Char( rStream, rStr.GetChar( (xub_StrLen)n ), - aContext, pNonConvertableChars ); - HTMLOutFuncs::FlushToAscii( rStream, aContext ); - return rStream; -} - -SvStream& HTMLOutFuncs::FlushToAscii( SvStream& rStream, - HTMLOutContext& rContext ) -{ - ByteString sOut; - if( lcl_FlushToAscii( sOut, rContext ) ) - rStream << sOut.GetBuffer(); - - return rStream; -} - -SvStream& HTMLOutFuncs::Out_Hex( SvStream& rStream, sal_uLong nHex, sal_uInt8 nLen, - rtl_TextEncoding ) -{ // in einen Stream aus - sal_Char aNToABuf[] = "0000000000000000"; - - DBG_ASSERT( nLen < sizeof(aNToABuf), "zu viele Stellen" ); - if( nLen>=sizeof(aNToABuf) ) - nLen = (sizeof(aNToABuf)-1); - - // Pointer an das Bufferende setzen - sal_Char *pStr = aNToABuf + (sizeof(aNToABuf)-1); - for( sal_uInt8 n = 0; n < nLen; ++n ) - { - *(--pStr) = (sal_Char)(nHex & 0xf ) + 48; - if( *pStr > '9' ) - *pStr += 39; - nHex >>= 4; - } - return rStream << pStr; -} - - -SvStream& HTMLOutFuncs::Out_Color( SvStream& rStream, const Color& rColor, - rtl_TextEncoding ) -{ - rStream << "\"#"; - if( rColor.GetColor() == COL_AUTO ) - { - rStream << "000000"; - } - else - { - Out_Hex( rStream, rColor.GetRed(), 2 ); - Out_Hex( rStream, rColor.GetGreen(), 2 ); - Out_Hex( rStream, rColor.GetBlue(), 2 ); - } - rStream << '\"'; - - return rStream; -} - -SvStream& HTMLOutFuncs::Out_ImageMap( SvStream& rStream, - const String& rBaseURL, - const ImageMap& rIMap, - const String& rName, - const HTMLOutEvent *pEventTable, - sal_Bool bOutStarBasic, - const sal_Char *pDelim, - const sal_Char *pIndentArea, - const sal_Char *pIndentMap, - rtl_TextEncoding eDestEnc, - String *pNonConvertableChars ) -{ - if( RTL_TEXTENCODING_DONTKNOW == eDestEnc ) - eDestEnc = gsl_getSystemTextEncoding(); - - const String& rOutName = rName.Len() ? rName : rIMap.GetName(); - DBG_ASSERT( rOutName.Len(), "Kein ImageMap-Name" ); - if( !rOutName.Len() ) - return rStream; - - ByteString sOut( '<' ); - sOut.Append( RTL_CONSTASCII_STRINGPARAM(OOO_STRING_SVTOOLS_HTML_map ) ); - sOut.Append( ' ' ); - sOut.Append( RTL_CONSTASCII_STRINGPARAM(OOO_STRING_SVTOOLS_HTML_O_name) ); - sOut.Append( RTL_CONSTASCII_STRINGPARAM("=\"") ); - rStream << sOut.GetBuffer(); - sOut.Erase(); - Out_String( rStream, rOutName, eDestEnc, pNonConvertableChars ); - rStream << "\">"; - - for( sal_uInt16 i=0U; i<rIMap.GetIMapObjectCount(); i++ ) - { - const IMapObject* pObj = rIMap.GetIMapObject( i ); - DBG_ASSERT( pObj, "Wo ist das ImageMap-Object?" ); - - if( pObj ) - { - const sal_Char *pShape = 0; - ByteString aCoords; - switch( pObj->GetType() ) - { - case( IMAP_OBJ_RECTANGLE ): - { - const IMapRectangleObject* pRectObj = - (const IMapRectangleObject *)pObj; - pShape = OOO_STRING_SVTOOLS_HTML_SH_rect; - Rectangle aRect( pRectObj->GetRectangle() ); - - aCoords = rtl::OStringBuffer() - .append(static_cast<sal_Int32>(aRect.Left())) - .append(',') - .append(static_cast<sal_Int32>(aRect.Top())) - .append(',') - .append(static_cast<sal_Int32>(aRect.Right())) - .append(',') - .append(static_cast<sal_Int32>(aRect.Bottom())) - .makeStringAndClear(); - } - break; - case( IMAP_OBJ_CIRCLE ): - { - const IMapCircleObject* pCirc = - (const IMapCircleObject *)pObj; - pShape= OOO_STRING_SVTOOLS_HTML_SH_circ; - Point aCenter( pCirc->GetCenter() ); - long nOff = pCirc->GetRadius(); - - aCoords = rtl::OStringBuffer() - .append(static_cast<sal_Int32>(aCenter.X())) - .append(',') - .append(static_cast<sal_Int32>(aCenter.Y())) - .append(',') - .append(static_cast<sal_Int32>(nOff)) - .makeStringAndClear(); - } - break; - case( IMAP_OBJ_POLYGON ): - { - const IMapPolygonObject* pPolyObj = - (const IMapPolygonObject *)pObj; - pShape= OOO_STRING_SVTOOLS_HTML_SH_poly; - Polygon aPoly( pPolyObj->GetPolygon() ); - sal_uInt16 nCount = aPoly.GetSize(); - rtl::OStringBuffer aTmpBuf; - if( nCount>0 ) - { - const Point& rPoint = aPoly[0]; - aTmpBuf.append(static_cast<sal_Int32>(rPoint.X())) - .append(',') - .append(static_cast<sal_Int32>(rPoint.Y())); - } - for( sal_uInt16 j=1; j<nCount; j++ ) - { - const Point& rPoint = aPoly[j]; - aTmpBuf.append(',') - .append(static_cast<sal_Int32>(rPoint.X())) - .append(',') - .append(static_cast<sal_Int32>(rPoint.Y())); - } - aCoords = aTmpBuf.makeStringAndClear(); - } - break; - default: - DBG_ASSERT( pShape, "unbekanntes IMapObject" ); - break; - } - - if( pShape ) - { - if( pDelim ) - rStream << pDelim; - if( pIndentArea ) - rStream << pIndentArea; - - ((((((((((sOut = '<') += OOO_STRING_SVTOOLS_HTML_area) += ' ') - += OOO_STRING_SVTOOLS_HTML_O_shape) += '=') += pShape) += ' ') - += OOO_STRING_SVTOOLS_HTML_O_coords) += "=\"") += aCoords) += "\" "; - rStream << sOut.GetBuffer(); - - String aURL( pObj->GetURL() ); - if( aURL.Len() && pObj->IsActive() ) - { - aURL = URIHelper::simpleNormalizedMakeRelative( - rBaseURL, aURL ); - (sOut = OOO_STRING_SVTOOLS_HTML_O_href) += "=\""; - rStream << sOut.GetBuffer(); - Out_String( rStream, aURL, eDestEnc, pNonConvertableChars ) << '\"'; - } - else - rStream << OOO_STRING_SVTOOLS_HTML_O_nohref; - - const String& rObjName = pObj->GetName(); - if( rObjName.Len() ) - { - ((sOut = ' ') += OOO_STRING_SVTOOLS_HTML_O_name) += "=\""; - rStream << sOut.GetBuffer(); - Out_String( rStream, rObjName, eDestEnc, pNonConvertableChars ) << '\"'; - } - - const String& rTarget = pObj->GetTarget(); - if( rTarget.Len() && pObj->IsActive() ) - { - ((sOut = ' ') += OOO_STRING_SVTOOLS_HTML_O_target) += "=\""; - rStream << sOut.GetBuffer(); - Out_String( rStream, rTarget, eDestEnc, pNonConvertableChars ) << '\"'; - } - - String rDesc( pObj->GetAltText() ); - if( rDesc.Len() == 0 ) - rDesc = pObj->GetDesc(); - - if( rDesc.Len() ) - { - ((sOut = ' ') += OOO_STRING_SVTOOLS_HTML_O_alt) += "=\""; - rStream << sOut.GetBuffer(); - Out_String( rStream, rDesc, eDestEnc, pNonConvertableChars ) << '\"'; - } - - const SvxMacroTableDtor& rMacroTab = pObj->GetMacroTable(); - if( pEventTable && rMacroTab.Count() ) - Out_Events( rStream, rMacroTab, pEventTable, - bOutStarBasic, eDestEnc, pNonConvertableChars ); - - rStream << '>'; - } - } - - } - - if( pDelim ) - rStream << pDelim; - if( pIndentMap ) - rStream << pIndentMap; - Out_AsciiTag( rStream, OOO_STRING_SVTOOLS_HTML_map, sal_False ); - - return rStream; -} - -SvStream& HTMLOutFuncs::OutScript( SvStream& rStrm, - const String& rBaseURL, - const String& rSource, - const String& rLanguage, - ScriptType eScriptType, - const String& rSrc, - const String *pSBLibrary, - const String *pSBModule, - rtl_TextEncoding eDestEnc, - String *pNonConvertableChars ) -{ - if( RTL_TEXTENCODING_DONTKNOW == eDestEnc ) - eDestEnc = gsl_getSystemTextEncoding(); - - // Script wird komplett nicht eingerueckt! - ByteString sOut( '<' ); - sOut.Append( RTL_CONSTASCII_STRINGPARAM(OOO_STRING_SVTOOLS_HTML_script) ); - - if( rLanguage.Len() ) - { - sOut.Append( ' ' ); - sOut.Append( RTL_CONSTASCII_STRINGPARAM(OOO_STRING_SVTOOLS_HTML_O_language) ); - sOut.Append( RTL_CONSTASCII_STRINGPARAM("=\"") ); - rStrm << sOut.GetBuffer(); - Out_String( rStrm, rLanguage, eDestEnc, pNonConvertableChars ); - sOut = '\"'; - } - - if( rSrc.Len() ) - { - ((sOut += ' ') += OOO_STRING_SVTOOLS_HTML_O_src) += "=\""; - rStrm << sOut.GetBuffer(); - Out_String( rStrm, URIHelper::simpleNormalizedMakeRelative(rBaseURL, rSrc), eDestEnc, pNonConvertableChars ); - sOut = '\"'; - } - - if( STARBASIC != eScriptType && pSBLibrary ) - { - ((sOut += ' ') += OOO_STRING_SVTOOLS_HTML_O_sdlibrary) += "=\""; - rStrm << sOut.GetBuffer(); - Out_String( rStrm, *pSBLibrary, eDestEnc, pNonConvertableChars ); - sOut = '\"'; - } - - if( STARBASIC != eScriptType && pSBModule ) - { - ((sOut += ' ') += OOO_STRING_SVTOOLS_HTML_O_sdmodule) += "=\""; - rStrm << sOut.GetBuffer(); - Out_String( rStrm, *pSBModule, eDestEnc, pNonConvertableChars ); - sOut = '\"'; - } - - sOut += '>'; - - rStrm << sOut.GetBuffer(); - - if( rSource.Len() || pSBLibrary || pSBModule ) - { - rStrm << sNewLine; - - if( JAVASCRIPT != eScriptType ) - { - rStrm << "<!--" - << sNewLine; - } - - if( STARBASIC == eScriptType ) - { - if( pSBLibrary ) - { - sOut.Assign( RTL_CONSTASCII_STRINGPARAM("' ") ); - sOut.Append( RTL_CONSTASCII_STRINGPARAM(OOO_STRING_SVTOOLS_HTML_SB_library) ); - sOut.Append( ' ' ); - ByteString sTmp( *pSBLibrary, eDestEnc ); - sOut.Append( sTmp ); - rStrm << sOut.GetBuffer() << sNewLine; - } - - if( pSBModule ) - { - sOut.Assign( RTL_CONSTASCII_STRINGPARAM("' ") ); - sOut.Append( RTL_CONSTASCII_STRINGPARAM(OOO_STRING_SVTOOLS_HTML_SB_module) ); - sOut.Append( ' ' ); - ByteString sTmp( *pSBModule, eDestEnc ); - sOut.Append( sTmp ); - rStrm << sOut.GetBuffer() << sNewLine; - } - } - - if( rSource.Len() ) - { - // Wir schreiben das Modul mm ANSI-Zeichensatz, aber mit - // System-Zeilenumbruechen raus. - ByteString sSource( rSource, eDestEnc ); - sSource.ConvertLineEnd( GetSystemLineEnd() ); - rStrm << sSource.GetBuffer(); - } - rStrm << sNewLine; - - if( JAVASCRIPT != eScriptType ) - { - // MIB/MM: Wenn es kein StarBasic ist, kann ein // natuerlich - // falsch sein. Da der Kommentar aber beim Einlesen wider - // entfernt wird, schickt uns das nicht weiter ... - rStrm << (STARBASIC == eScriptType ? "' -->" : "// -->") - << sNewLine; - } - } - - HTMLOutFuncs::Out_AsciiTag( rStrm, OOO_STRING_SVTOOLS_HTML_script, sal_False ); - - return rStrm; -} - - -SvStream& HTMLOutFuncs::Out_Events( SvStream& rStrm, - const SvxMacroTableDtor& rMacroTable, - const HTMLOutEvent *pEventTable, - sal_Bool bOutStarBasic, - rtl_TextEncoding eDestEnc, - String *pNonConvertableChars ) -{ - sal_uInt16 i=0; - while( pEventTable[i].pBasicName || pEventTable[i].pJavaName ) - { - const SvxMacro *pMacro = - rMacroTable.Get( pEventTable[i].nEvent ); - - if( pMacro && pMacro->GetMacName().Len() && - ( JAVASCRIPT == pMacro->GetScriptType() || bOutStarBasic )) - { - const sal_Char *pStr = STARBASIC == pMacro->GetScriptType() - ? pEventTable[i].pBasicName - : pEventTable[i].pJavaName; - - if( pStr ) - { - ByteString sOut( ' ' ); - (sOut += pStr) += "=\""; - rStrm << sOut.GetBuffer(); - - Out_String( rStrm, pMacro->GetMacName(), eDestEnc, pNonConvertableChars ) << '\"'; - } - } - i++; - } - - return rStrm; -} - -rtl::OString HTMLOutFuncs::CreateTableDataOptionsValNum( - sal_Bool bValue, - double fVal, sal_uLong nFormat, SvNumberFormatter& rFormatter, - rtl_TextEncoding eDestEnc, String* pNonConvertableChars) -{ - rtl::OStringBuffer aStrTD; - - if ( bValue ) - { - // printf / scanf ist zu ungenau - String aValStr; - rFormatter.GetInputLineString( fVal, 0, aValStr ); - ByteString sTmp( aValStr, eDestEnc ); - aStrTD.append(' '). - append(OOO_STRING_SVTOOLS_HTML_O_SDval). - append(RTL_CONSTASCII_STRINGPARAM("=\"")). - append(sTmp).append('\"'); - } - if ( bValue || nFormat ) - { - aStrTD.append(' '). - append(OOO_STRING_SVTOOLS_HTML_O_SDnum). - append(RTL_CONSTASCII_STRINGPARAM("=\"")). - append(static_cast<sal_Int32>( - Application::GetSettings().GetLanguage())). - append(';'); // Language fuer Format 0 - if ( nFormat ) - { - ByteString aNumStr; - LanguageType nLang; - const SvNumberformat* pFormatEntry = rFormatter.GetEntry( nFormat ); - if ( pFormatEntry ) - { - ConvertStringToHTML( pFormatEntry->GetFormatstring(), aNumStr, - eDestEnc, pNonConvertableChars ); - nLang = pFormatEntry->GetLanguage(); - } - else - nLang = LANGUAGE_SYSTEM; - aStrTD.append(static_cast<sal_Int32>(nLang)).append(';'). - append(aNumStr); - } - aStrTD.append('\"'); - } - return aStrTD.makeStringAndClear(); -} - -sal_Bool HTMLOutFuncs::PrivateURLToInternalImg( String& rURL ) -{ - if( rURL.Len() > 14UL && - rURL.CompareToAscii( OOO_STRING_SVTOOLS_HTML_private_image, 14UL ) == COMPARE_EQUAL ) - { - rURL.Erase( 0UL, 14UL ); - return sal_True; - } - - return sal_False; -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |