[Libreoffice-commits] core.git: 5 commits - download.lst external/libmwaw include/comphelper writerperfect/qa writerperfect/source xmloff/source

David Tardon dtardon at redhat.com
Mon Jan 5 10:00:01 PST 2015


 download.lst                                                          |    9 
 external/libmwaw/ExternalPackage_libmwaw.mk                           |    2 
 include/comphelper/seqstream.hxx                                      |    2 
 writerperfect/qa/unit/data/draw/libmwaw/pass/MacDraw_Pro_1.0.hqx      |  109 ++++++++++
 writerperfect/qa/unit/data/writer/libe-book/pass/Broad_Band_eBook.lrf |binary
 writerperfect/source/writer/EBookImportFilter.cxx                     |    5 
 xmloff/source/style/XMLFontAutoStylePool.cxx                          |    4 
 xmloff/source/style/XMLFontStylesContext.cxx                          |   27 ++
 xmloff/source/style/XMLFontStylesContext_impl.hxx                     |    8 
 9 files changed, 157 insertions(+), 9 deletions(-)

New commits:
commit 2862ef7e65e4994ff3cf173a36ec59b47445455e
Author: David Tardon <dtardon at redhat.com>
Date:   Mon Jan 5 18:41:14 2015 +0100

    export format of embedded font too
    
    Change-Id: Ife7dbb298861a71987501f3847d3b931c7e83715

diff --git a/xmloff/source/style/XMLFontAutoStylePool.cxx b/xmloff/source/style/XMLFontAutoStylePool.cxx
index c121842..813f010 100644
--- a/xmloff/source/style/XMLFontAutoStylePool.cxx
+++ b/xmloff/source/style/XMLFontAutoStylePool.cxx
@@ -311,6 +311,10 @@ void XMLFontAutoStylePool::exportXML()
                         GetExport().AddAttribute( XML_NAMESPACE_XLINK, XML_TYPE, "simple" );
                         SvXMLElementExport fontFaceUri( GetExport(), XML_NAMESPACE_SVG,
                             XML_FONT_FACE_URI, true, true );
+
+                        GetExport().AddAttribute( XML_NAMESPACE_SVG, XML_STRING, "truetype" );
+                        SvXMLElementExport fontFaceFormat( GetExport(), XML_NAMESPACE_SVG,
+                            XML_FONT_FACE_FORMAT, true, true );
                     }
                 }
             }
commit 0a0496858905622374f9880b21b35ac1943c7a19
Author: David Tardon <dtardon at redhat.com>
Date:   Mon Jan 5 16:45:25 2015 +0100

    read embedded fonts from Flat ODF
    
    Change-Id: Ic94608f4afac9d8ac05ec3140d195b0526e9420a

diff --git a/xmloff/source/style/XMLFontStylesContext.cxx b/xmloff/source/style/XMLFontStylesContext.cxx
index 5f7dfa8..373e116 100644
--- a/xmloff/source/style/XMLFontStylesContext.cxx
+++ b/xmloff/source/style/XMLFontStylesContext.cxx
@@ -24,6 +24,8 @@
 #include <com/sun/star/awt/FontPitch.hpp>
 #include <com/sun/star/embed/ElementModes.hpp>
 
+#include <comphelper/seqstream.hxx>
+
 #include <osl/file.hxx>
 #include <vcl/embeddedfontshelper.hxx>
 
@@ -33,6 +35,7 @@
 #include "fonthdl.hxx"
 #include <xmloff/xmlimp.hxx>
 #include <xmloff/maptype.hxx>
+#include <xmloff/XMLBase64ImportContext.hxx>
 
 
 using namespace ::com::sun::star;
@@ -251,6 +254,12 @@ SvXMLImportContext * XMLFontStyleContextFontFaceUri::CreateChildContext(
 {
     if( nPrefix == XML_NAMESPACE_SVG && IsXMLToken( rLocalName, XML_FONT_FACE_FORMAT ))
         return new XMLFontStyleContextFontFaceFormat( GetImport(), nPrefix, rLocalName, xAttrList, *this );
+    if( linkPath.isEmpty() && ( nPrefix == XML_NAMESPACE_OFFICE ) && IsXMLToken( rLocalName, XML_BINARY_DATA ) )
+    {
+        mxBase64Stream.set( new comphelper::OSequenceOutputStream( maFontData ) );
+        if( mxBase64Stream.is() )
+            return new XMLBase64ImportContext( GetImport(), nPrefix, rLocalName, xAttrList, mxBase64Stream );
+    }
     return SvXMLImportContext::CreateChildContext( nPrefix, rLocalName, xAttrList );
 }
 
@@ -276,9 +285,9 @@ const char* EOT_FORMAT      = "embedded-opentype";
 
 void XMLFontStyleContextFontFaceUri::EndElement()
 {
-    if( linkPath.getLength() == 0 )
+    if( ( linkPath.getLength() == 0 ) && ( maFontData.getLength() == 0 ) )
     {
-        SAL_WARN( "xmloff", "svg:font-face-uri tag with no link; ignoring." );
+        SAL_WARN( "xmloff", "svg:font-face-uri tag with no link or base64 data; ignoring." );
         return;
     }
     bool eot;
@@ -298,7 +307,10 @@ void XMLFontStyleContextFontFaceUri::EndElement()
         SAL_WARN( "xmloff", "Unknown format of embedded font; assuming TTF." );
         eot = false;
     }
-    handleEmbeddedFont( linkPath, eot );
+    if ( maFontData.getLength() == 0 )
+        handleEmbeddedFont( linkPath, eot );
+    else
+        handleEmbeddedFont( maFontData, eot );
 }
 
 void XMLFontStyleContextFontFaceUri::handleEmbeddedFont( const OUString& url, bool eot )
@@ -328,6 +340,15 @@ void XMLFontStyleContextFontFaceUri::handleEmbeddedFont( const OUString& url, bo
         SAL_WARN( "xmloff", "External URL for font file not handled." );
 }
 
+void XMLFontStyleContextFontFaceUri::handleEmbeddedFont( const ::css::uno::Sequence< sal_Int8 >& rData, const bool eot )
+{
+    const uno::Reference< io::XInputStream > xInput( new comphelper::SequenceInputStream( rData ) );
+    const OUString fontName = font.familyName();
+    if( EmbeddedFontsHelper::addEmbeddedFont( xInput, fontName, "?", std::vector< unsigned char >(), eot ) )
+        GetImport().NotifyEmbeddedFontRead();
+    xInput->closeInput();
+}
+
 SvXMLStyleContext *XMLFontStylesContext::CreateStyleChildContext(
         sal_uInt16 nPrefix,
         const OUString& rLocalName,
diff --git a/xmloff/source/style/XMLFontStylesContext_impl.hxx b/xmloff/source/style/XMLFontStylesContext_impl.hxx
index 3938aa6..a1cfc11 100644
--- a/xmloff/source/style/XMLFontStylesContext_impl.hxx
+++ b/xmloff/source/style/XMLFontStylesContext_impl.hxx
@@ -22,6 +22,10 @@
 
 #include <xmloff/xmlstyle.hxx>
 
+namespace com { namespace sun { namespace star { namespace io {
+    class XOutputStream;
+} } } }
+
 /// Handles <style:font-face>
 class XMLFontStyleContextFontFace : public SvXMLStyleContext
 {
@@ -91,7 +95,11 @@ class XMLFontStyleContextFontFaceUri : public SvXMLStyleContext
     const XMLFontStyleContextFontFace& font;
     OUString format;
     OUString linkPath;
+    ::css::uno::Sequence< sal_Int8 > maFontData;
+    ::css::uno::Reference< ::css::io::XOutputStream > mxBase64Stream;
+
     void handleEmbeddedFont( const OUString& url, bool eot );
+    void handleEmbeddedFont( const ::css::uno::Sequence< sal_Int8 >& rData, bool eot );
 public:
 
     TYPEINFO_OVERRIDE();
commit 02266c33f23cd9fa59b73db3ef88e32c24106587
Author: David Tardon <dtardon at redhat.com>
Date:   Mon Jan 5 16:44:56 2015 +0100

    I assume this class is not public due to an oversight
    
    Change-Id: If43e49dc05ad213cbbf6363dfa68a7a93959582f

diff --git a/include/comphelper/seqstream.hxx b/include/comphelper/seqstream.hxx
index d572995..aea8329 100644
--- a/include/comphelper/seqstream.hxx
+++ b/include/comphelper/seqstream.hxx
@@ -76,7 +76,7 @@ private:
 };
 typedef ::cppu::WeakImplHelper1< ::com::sun::star::io::XOutputStream > OSequenceOutputStream_Base;
 
-class OSequenceOutputStream : public OSequenceOutputStream_Base
+class COMPHELPER_DLLPUBLIC OSequenceOutputStream : public OSequenceOutputStream_Base
 {
 protected:
     ::com::sun::star::uno::Sequence< sal_Int8 >&    m_rSequence;
commit 14dc6341f71a0f012efa7c5e58e1bce49d7a0af2
Author: David Tardon <dtardon at redhat.com>
Date:   Mon Jan 5 12:15:13 2015 +0100

    upload libe-book 0.1.2
    
    Change-Id: I1dc1231661c8fed6021c10ed3c4676d2581ad1fc

diff --git a/download.lst b/download.lst
index eb3a6ad..c60c5ef 100644
--- a/download.lst
+++ b/download.lst
@@ -31,8 +31,8 @@ export CT2N_TARBALL := 451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.
 export CURL_MD5SUM := e6d1f9d1b59da5062109ffe14e0569a4
 export CURL_TARBALL := curl-7.36.0.tar.bz2
 export DBGHELP_DLL := 13fbc2e8b37ddf28181dd6d8081c2b8e-dbghelp.dll
-export EBOOK_MD5SUM := c25a881d21abc5b4da19205db513cc22
-export EBOOK_TARBALL := libe-book-0.1.1.tar.bz2
+export EBOOK_MD5SUM := 6b48eda57914e6343efebc9381027b78
+export EBOOK_TARBALL := libe-book-0.1.2.tar.bz2
 export EPM_TARBALL := 3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz
 export ETONYEK_MD5SUM := 805f941b06448212a988cb65f0691a7a
 export ETONYEK_TARBALL := libetonyek-0.1.1.tar.bz2
diff --git a/writerperfect/qa/unit/data/writer/libe-book/pass/Broad_Band_eBook.lrf b/writerperfect/qa/unit/data/writer/libe-book/pass/Broad_Band_eBook.lrf
new file mode 100644
index 0000000..5e5b69d
Binary files /dev/null and b/writerperfect/qa/unit/data/writer/libe-book/pass/Broad_Band_eBook.lrf differ
diff --git a/writerperfect/source/writer/EBookImportFilter.cxx b/writerperfect/source/writer/EBookImportFilter.cxx
index c6a4ce8..a7db6c2 100644
--- a/writerperfect/source/writer/EBookImportFilter.cxx
+++ b/writerperfect/source/writer/EBookImportFilter.cxx
@@ -35,6 +35,8 @@ bool EBookImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, Od
     rDescriptor[utl::MediaDescriptor::PROP_FILTERNAME()] >>= aFilterName;
     assert(!aFilterName.isEmpty());
 
+    if (aFilterName == "BroadBand eBook")
+        type = EBOOKDocument::TYPE_BBEB;
     if (aFilterName == "FictionBook 2")
         type = EBOOKDocument::TYPE_FICTIONBOOK2;
     else if (aFilterName == "PalmDoc")
@@ -64,6 +66,9 @@ bool EBookImportFilter::doDetectFormat(librevenge::RVNGInputStream &rInput, OUSt
     {
         switch (type)
         {
+        case EBOOKDocument::TYPE_BBEB :
+            rTypeName = "writer_BroadBand_eBook";
+            break;
         case EBOOKDocument::TYPE_FICTIONBOOK2 :
             rTypeName = "writer_FictionBook_2";
             break;
commit 32c3167be34546bd437ad0f1cacc50a61ef753f7
Author: David Tardon <dtardon at redhat.com>
Date:   Sun Jan 4 21:51:29 2015 +0100

    upload libmwaw 0.3.4
    
    Change-Id: I0208d53522da4d3d32c4060b6d784d62a64bf0eb

diff --git a/download.lst b/download.lst
index e33889d..eb3a6ad 100644
--- a/download.lst
+++ b/download.lst
@@ -102,8 +102,9 @@ export MARIADB_TARBALL := a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-
 export MDDS_TARBALL := cb4207cb913c7a5a8bfa5b91234618ee-mdds_0.11.2.tar.bz2
 export MSPUB_MD5SUM := ff9d0f9dd8fbc523408ea1953d5bde41
 export MSPUB_TARBALL := libmspub-0.1.2.tar.bz2
-export MWAW_MD5SUM := 19b879c2a27251db6fb274d6c585d488
-export MWAW_TARBALL := libmwaw-0.3.3.tar.bz2
+export MWAW_MD5SUM := edb8a92a4b6746efbd45bde5006f71b9
+export MWAW_VERSION_MICRO := 4
+export MWAW_TARBALL := libmwaw-0.3.$(MWAW_VERSION_MICRO).tar.bz2
 export MYSQLCPPCONN_TARBALL := 7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz
 export MYTHES_TARBALL := a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz
 export NEON_TARBALL := ff369e69ef0f0143beb5626164e87ae2-neon-0.29.5.tar.gz
diff --git a/external/libmwaw/ExternalPackage_libmwaw.mk b/external/libmwaw/ExternalPackage_libmwaw.mk
index 3b3bcb6..97a6e6d 100644
--- a/external/libmwaw/ExternalPackage_libmwaw.mk
+++ b/external/libmwaw/ExternalPackage_libmwaw.mk
@@ -16,7 +16,7 @@ $(eval $(call gb_ExternalPackage_add_file,libmwaw,$(LIBO_LIB_FOLDER)/libmwaw-0.3
 else ifeq ($(OS),WNT)
 $(eval $(call gb_ExternalPackage_add_file,libmwaw,$(LIBO_LIB_FOLDER)/libmwaw-0.3.dll,src/lib/.libs/libmwaw-0.3.dll))
 else ifeq ($(filter IOS ANDROID,$(OS)),)
-$(eval $(call gb_ExternalPackage_add_file,libmwaw,$(LIBO_LIB_FOLDER)/libmwaw-0.3.so.3,src/lib/.libs/libmwaw-0.3.so.3.0.3))
+$(eval $(call gb_ExternalPackage_add_file,libmwaw,$(LIBO_LIB_FOLDER)/libmwaw-0.3.so.3,src/lib/.libs/libmwaw-0.3.so.3.0.$(MWAW_VERSION_MICRO)))
 endif
 
 # vim: set noet sw=4 ts=4:
diff --git a/writerperfect/qa/unit/data/draw/libmwaw/pass/MacDraw_Pro_1.0.hqx b/writerperfect/qa/unit/data/draw/libmwaw/pass/MacDraw_Pro_1.0.hqx
new file mode 100644
index 0000000..f89c7118
--- /dev/null
+++ b/writerperfect/qa/unit/data/draw/libmwaw/pass/MacDraw_Pro_1.0.hqx
@@ -0,0 +1,109 @@
+(This file must be converted with BinHex 4.0)
+:#R4PFh404&!a,M!!C%4[Bf43FQm"!!!!%!!!!!cJjC0N4'pM4$,rr`!2!!!"D!&
+S!*!%$VJ,32qerkB2,3ZDB`)&+!2m!3!!!!&S!@J!N!31Z!Y!!!%&!!"N!!%!!!!
+"!!)!!!!"*`m!!3#3$K!!N!N3!2qerkB2,3ZD!!J!N!iC!3!#!(J!5!!!!%J!N!J
+"!3!#!*"Y!3!'!!B!!3!"!!B!"J!"!!%!!!!,!!!!!J#3#!%PT8X!MMaj!8ZP5`#
+rQAN"*D9,!)imH3&,T8X![jPj!!!!#`#3"5'&#J!R,em"5k9,!F"I[`%PT8X!MMa
+j!8ZP5`#rQAN!!!!,!*!&)B8+!#F[A`&,T8X"`&qr!5 at P5`#12(N"5k9,!,qCH3!
+!!*!!!!!!5!!!!+J!!!"8!!!!&J!!!1i!!!##!!!!#J!!!43!N!S$P!!!!B3!N!9
+4rkJ!!!!"!!!!!8!L!*!'2laaaaaaaa`!##%!N!3(3!DY at V9UeDXreT2T2T2T2`!
++)!-!!!!"2rJ!N!Brj9 at 3"J!-)3%!!!!"2q)N5*%L4)Nrr$MMMMMMMJ!")!-!!!!
+"3"c-N!A02m(((((((()!&#%!N!3"2mki8HZ&(VK!%+U3"DX",#%!N!3(!!%!!!!
+"!!%!!!!"!!)!!!!#!!)!!!!"!!3!!!!%!!3!!!!"!!B!!!!'!!B!!!!"!!J!!!!
+)!!J!!!!"!!S!!!!+!!S!!!!"!!N!!!!*!*!9!3!E!!!!#3#3&3%!%J!!!")!N"8
+"!$B!!!!5!*!9!3")!!!!#3!!!!N!!!!*!*!0!3")!!!!#3!!!!N!!!!*!!!!#3!
+!!!N!N!8"!!%!$!!!!!3!N!8%!!)!$!!!!!-!N!8"!!-!"J!!!!B!N!8"!!3!$!!
+!!!8!N!8"!!8!"3!!!!8!N!8"!!B!!`!!!!-!!!!&!!d!!!!*!!!!&3!!!$!!!-!
+'!!!!"3#3(2rr!*$4!3#3"`X!N!X,rj!%!*!-!5 at P5`#12(N"5k9,!,qCH3!KK3S
+!*bpI!8ZP5`(!Alm!N!`"*D9,!)imH3&,T8X![jPj!#'&#J!R,em"5k9,!F"I[`"
+4rm3!!!&f!!!!#!!!#8CPG at PXE'8J-3!!!3J!!!!-!!!!"!#3r``!!!!"!!!!#!!
+!!3J!!!!S!!!!"!!!!'!!!!#B!!!!p!!!!5`!!!')!!!"`!!!!K`!N1)#M!!!!!%
+!!!"F!!!!#!!!!"`!!!!"!!!!!J!"!*!%J!#3"Khrr`!!!!%!$3!!!!N!N!HD#`#
+3"!%!!!!F!!%!$3!!!!N!N!d1!*!&!3!!!$J!!J!"!!'K+`#3#@"J`J!&UeF!$NK
+8!!KF-3!1%e8!"0GF!!hH9J!"8SF!!!!"!!!!A!!!!!`!!!!0!!!!!3!!!!)!!3#
+3")!!N!B1rrm!!!!"!!d!!!!*!*!(5,L!!!!!!3!!!!d!!3!0!!!!#3#3$3i!N!8
+"!!!!1!!#!!%!!D%V!*!*B'$#!!@V9`!15&3!#&`a!!i693!%ee`!$Gj@!!&5K`!
+!!!%!!!"F!!!!%!!!!"%!!!!"!!!!!J!"!*!%J!#3"K,rr`!!!!%!$3!!!!N!N!G
+CBS!!!!!"!!!!%3!"!!d!!!!*!*!0$J#3"3%!!!!i!!)!!3!"S5X!N!PJB-)!"DY
+A!!j)9!!)A$%!$K09!!6AA!!0hPB!!9+(!!!!!3!!!&`!!!!8!!!!#!!!!!%!!!!
+#!!%!N!5!!*!'#Irr!!!!!3!0!!!!#3#3"bB#J!!!!!%!!!!)!!%!$3!!!!N!N!d
+1!*!&!3!!!(!!!!!B!!!!"J!!!!%!!!!#!!%!N"L!!*!'"rrr!!!!!3!0!!!!#3#
+3"b&G!*!%!3!!!!B!!3!0!!!!#3#3$3i!N!3"#!!!!"`!!!!%!!!!+!!!!%!!!!"
+F!!!!E!#3lh`!!!!"!!!!*%%JFfeKE'`J6@&M4(*KGb"3FQmJCQPXC5!a,M!!!!!
+"!!!!''%JBQaeC5"cFA9KFQ8!!#J!!!!"!!!!('%JCh*PC at iJFQ9MG#"[GQ&X!!!
+N!!!!!3!!!""K)'0TFQ0XC3!!!!%!!!!3B5"ZEh4P!$!!)B8+!(3iF3![K3S"$N0
+a3!%!N!X)!!"!!!"AAlm!*bpI!+6SdJ#6jXi!!`!"!J$!"X!'!*!'J!!!9)S8!,I
+!J3#@[(N"2IVf!!3!!3)!`!E!"J!"aBX!!)!"!&GI[`&U9DX!LfA-!F"I[`!&!!%
+#!-!'`!B!N!D!!J#TP#J!A3X@!3VdkJ"QCdG!)J!"!J$!"J#3"3`!N!3"%REZ!$A
+EY`%JGZi!IT3h3!%!N!X3!!"!!!#ECp!!pKdk!2c)NJ$rH at Y!)J!"!J$!"J#3"43
+!N!AqRci!e*Nb!3bI2J%Yql*!!3#3#aJ!!%!!!*,QcJ'5"3N!p%H3!!'EB6T!)J!
+"!J$!"J#3"4`!N!Af(M`"H3)%!33H2!'I")4!!3#3#b!!!%!!!5 at P5`#12(N"5k9
+,!,qCH8!+!*!,*!!!3!$rrc-c!!!!,!#3"30e9Irr-c-!!!!Y!*!&!i!!rrmc-`!
+!!#i!N!8$K9Arrc-c!!!!,`#3"31+U[rr-c-!!!!`!*!&!irrrrmc-`!!!$%!N!8
+$P96rrc-c!!!!-J#3"31GU2rr-c-!!!!c!*!&!kUTrrmc-`!!!$3!N!8$[rrrrc-
+c!!!!03#3"32992rr-c-!!!!f!*!&!q10rrmc-`!!!$F!N!8$lMMrrc-c!!!!1!#
+3"3-!!2rp6-d!!!!j!*!&!`UVrre-c3!!!$S!N!8$&9Arr8c0!!!!1`#3"3-J!2r
+p6-d!!!!m!*!&!b99rre-c3!!!$d!N!8$+UVrr8c0!!!!2J#3"30!!2rp6-d!!!!
+r!*!&!e99rre-c3!!!%!!N!8$DUVrr8c0!!!!33#3"30e9Irp6-d!!!"#!*!&!i!
+!rre-c3!!!%-!N!8$K9Arr8c0!!!!4!#3"31+U[rp6-d!!!"&!*!&!j!!!2rp6-d
+!!!"'!*!&!j99rre-c3!!!%F!N!8$RDMrr8c0!!!!5!#3"31UU[rp6-d!!!"*!*!
+&!lrqrre-c3!!!%S!N!8$e9Arr8c0!!!!5`#3"32MMIrp6-d!!!"-!*!&!qiirre
+-c3!!!%d!N!8$!!$rrQCQ!!!!6J#3"3-+UrrqCQB!!!"2!*!&!a99rrjQCJ!!!&!
+!N!8$)!$rrQCQ!!!!83#3"3-P9IrqCQB!!!"5!*!&!bUUrrjQCJ!!!&-!N!8$3!$
+rrQCQ!!!!9!#3"30992rqCQB!!!"9!*!&!fUUrrjQCJ!!!&B!N!8$G9ArrQCQ!!!
+!9`#3"31!!2rqCQB!!!"B!*!&!i99rrjQCJ!!!&N!N!8$LUVrrQCQ!!!!@J#3"31
+3!!$rrQCQ!!!!@`#3"3199IrqCQB!!!"F!*!&!jfSrrjQCJ!!!&d!N!8$UUVrrQC
+Q!!!e at 3!!!3!!!!S+!!!*#J!!!YB!!!!#$R4PFh4(FQ&`D#jhF(-cG`)!!J""9eG
+3690A5`TdCA0d6843-5i`!!)!!!"N4'pMC&"bE`#3#Q4%Ef0N8(*[!*!Bd(I'3!!
+!%!!!!!cJ!*!-%3#3"!),G'9cG%GbBA"S3eF#!!)!3eGA8%*23Nm"!!'!!8!!N!3
+#[3#3"!r&!!!3!*!&!FJ!!!J!cQa0IFjXlYi!N"B%'J!#!*!)""`!!3#3$A*N(3%
+*!#N!!`(G!M-!!!!#!!)!!!!"!!%!!J!#!!%!!3!"`!E!"J!"!!"!!!!"!3%!&3!
+`!*!%rrm!N"B#3!!!!['CQJ!!!6UP5`#@2(N!N!J#mCQD!N!!N!8'!!-!N!F5!!%
+23fpeE'9eFR-J3faKFQPc!!!!,J!"!+J!8Ip3!!J!&3!!!'3!N!9N!!!!8Im-!&(
+r@!"4re`!N!dm!!!!!3#3"31GU2rqCQB!!!"F!!!!!3#3"30992rqCQB!!!"8!!!
+!!3#3"3-!!2rqJ!#3"')!!!"3!*!13fp&6!!3!*!08Ip`!*!-4&"$E`!8!!-!N!4
+$EdjK!!X!$J"4rhJ!N!X3!!%06 at pdD@Cc)%0XBA*TF`!!!#i!!3"!!&(r,!!)!!J
+!!!"N!*!&C!#3"e(r0!"4rcJ!N!d+!*!08!!"!*!,!9"K48`!$J#3"`%!!!!"!&(
+r9!#3$%438'%!%J#3"3&3B8jK!!i!)!"4rd`!N!X5!!%24)jRFQ&NMR-J3faKFQP
+c!!!!,J!"!"!!8Im)!!)!#!!!!'3!N!9N!*!(8Im3!&(r&!#3$3S!N!e3!!)!N!X
+#8Q&&6!!d!*!(!J!!!!)!8ImS!*!-4&"5B3!i!*!&!P*K6Q%!$J!J!&(r-!#3#bi
+!!3!I!&(rG!!"!"m!!!"N!*!&#`#3"e(rI!"4ri!!N!d+!*!08!!$!*!,!dCK48`
+!@J#3"`-!!!!$!&(rN!!!N!a%8%CK!$B!N!8$4Q&1B3!3!#!!8IqN!*!,E!#3Ea,
+rN")!!!#3!!!"!!!!!3!!)3#3$!J!!3!"!!!!!3!!)!!$!*!+#J!#!!"!!!!"!!!
+K!J%!N!S-!!-!!3!!!$)!!#!!!`#3#J%!"!!#!!!!!3!!)3#3$"3!"3!"!!!!!3!
+!)3#3#`%X!!B!!!!`!!%!!!)!!!%!!J!!!J!!!J!%!!!#!!!$!!B!!!)!!!3!#!!
+!!J!!"3!+!!!#!!!'!!!!R)!*!!!!#3#3%`'!'`!!!!N!N"-#J")!!!!5!*!6!i!
+f!!!!%J#3%`5!5!!!!!N!!!!*!!!!#3#3#`@!5!!!!!N!!!!*!!!!#3!!!!N!!!!
+*!!!!"J!!!$`!$!!!!!3!!!!"!!`!!!!$!!!!!J!'!!!!"J!!!!-!$!!!!!8!!!!
+%!!8!!!!&!!!!"3!$!!!!!`!!!!B!!!!D!!8!!!`!!"aBX3!H!*!%`!#3$#i!!3#
+3"@3!-J$A!4J!-J!b!0J!b3"N!A3!UJ),!)`!P3#J!6)!N!F#!!!!"J%!!3!!!3!
+!!!)"!3!!!!3!!!!"!!!!"J#3"!%!N!55rj!)&N4TBh4TEfjZB at PbC5"`FQPZBfP
+`B@`!N#NB4'PMG'P[EQjKDA*P)(9dD at aTFf&dCA9b!*!Rr"Rm'3!"!*!(+!!"!!!
+!!3!!!!%!!!!"!!!!!3!!!!%!!!!"!!!!!3!!!!%!!!!"!*!&&!!!!!%!N"-)!!!
+!&3#3"`S*5'9XGQ9dD at 0K!!!!#!(j!#S!6N3B!!!"q4K"FQPKE#"09#"$EfjNC at j
+cC at 3J6'PRD(3,3ACKER3J4f&bC'883QpNEfjT)%e8)&9XG(*K)%*[E'3(3Qp[Dfe
+KEJG$D'PMB at G["d0[GA*TCA))4'9XF'KTB at i*4A0`H5"6B at jc$N9cF(NJ8f&ZFb"
+#EfaN$'9AEh*XC#"8D at GSG!p(BA*KE at pZC#"1BA*bEhF'4f9ZCACK'%GTE'`J8f&
+ZFb"$EfjNC at jcC@3J3QpXC!P)C at afCA4TBf%25'9XGQ9dD at 0K)%*XB at 0V&%KPE(C
+PG'PMB5"$Efe`FQ9cFf9N#%YXB at jR)%e8$8aeBQ&XD at iJ4h*KF'J06(9MD at 4K)%*
+bD at GSG!G0B at 0SD@jP"Ne[EQ&ME`K09#"&H(4bB4*1)%KPE(CPG'PMB5"1BA*bEhF
+)6Q&ND@&ZEQ826Q9h)%*PFQpXD at jK)%e8%NjPGb"$C at jdGA*j)&0MD'aLD`K1CAF
+J@@pbDa"2E'3J4 at jRE'PcD#"8CAKd%dpXC#"&EQGXDA0S)&4PH(3J693%6fjjH!C
+2H'C[FQ3)8'&XBA4TEQm18f0bDA"d)%e8)%*[E'3&8hGTEQF'8hPYBQpX#&4PE'9
+dCAKd"94TE at 9c"e48 at 8C[ER30 at Q&`CL"$D'&ZBf9bH3eDBA"Q)%4TEQGLBA4c"&T
+PB@`&9P3a-$!!!!!)!"X!#!"14"!!!!!E"6NJF(4c!M%`!M%b!M%d!M%i!M)d!M-
+f!M3i!!!"!!!!#JS!!!N+!!!#eJ"*k-`BqJ!!!"`#eJ!G4'PZCJ!!!2*69&P*!!!
+!rP088L-!!J%+99"%6!!$!5j%8%0[!!!"AP"K4%)!!`&U4&"3B3!!!CT%8&*K!!!
+"TN434Q%!!!'b4(ChF`!!!Ej%Fh4X!!!"bP*cCA3!!!(@8(0PG!!!!H*%Ff9d!!!
+"lN&cCA3!!!(k8(*PCJ!!!JC3FQBa!!!#%P"bCM)!!!)H8(*Q-`!!!LT3FQBd!!!
+#0P"bCM8!!!*#8(*Q0J!!!Nj3FQBi!!!#@P"bCMN!!!*Q4QedH!!!!R*'EQec!!!
+#IQCZG%`!!!++CQjd4!!!!TCcDAT-!!!#SR0THN3!!!+Z!3$rr`#3"8j%E!!!rrm
+!!!"f!%j%D!!!rrm!!!#!!*!&!Irr!!!"A!#3"3,rr`!!!J3!N!Err`!!!*B!N!8
+"rrm!!!&`!*!&![rr!!!#'J#3"32rr`!!!Ui!N!Err`!!!-J!N!Err`!!!3J!N!8
+"rrm!!!'`!*!&![rr!!!#@J#3"32rr`!!!Zi!N!8"rrm!!!'L!*!&![rr!!!#6!#
+3"32rr`!!!Z!!N!3"!2rr!!!$3J"14&J"!2rr!!!$XJ"14&3"!2rr!!!$b!"14&!
+"!2rr!!!%A!"14%`"!2rr!!!%N!!!6N4)!3$rr`!!"6!!6N4%!3$rr`!!"A!!6N4
+!!3$rr`!!"Bi!6N3m!3$rr`!!"F!!6N3i!3$rr`!!"FS!6N3d!3$rr`!!"G!!6N3
+`!3$rr`!!"GJ!6N3X!3$rr`!!"H)!6N3S!3$rr`!!"RJ!6N3N!3$rr`!!"U3!6N3
+J!3$rr`!!"V`!8Ir!!3$rr`!!"XJ!8Iqm!J$rr`!!"YB!6N3F!J$rr`!!"Z)!6N3
+B!J$rr`!!#0m!6N38!J$rr`!!#1X!6N33imS!:


More information about the Libreoffice-commits mailing list