<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>LibreOffice.hu» english</title>
	
	<link>http://libreoffice.hu</link>
	<description>LibreOffice – ingyenes irodai programcsomag</description>
	<lastBuildDate>Thu, 09 May 2013 11:41:09 +0000</lastBuildDate>
	<language>hu-HU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/LibreofficehuEnglish" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="libreofficehuenglish" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Hyphenation in Calc and Draw</title>
		<link>http://libreoffice.hu/2013/04/22/hyphenation-in-calc-and-draw/</link>
		<comments>http://libreoffice.hu/2013/04/22/hyphenation-in-calc-and-draw/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 12:11:14 +0000</pubDate>
		<dc:creator>Németh László</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[hyphenation]]></category>

		<guid isPermaLink="false">http://libreoffice.hu/?p=5551</guid>
		<description><![CDATA[Hyphenation in cells and shapes was fixed a few days ago for Catalan (for example, paral·lel » paral-lel, instead of parall-lel), Hungarian (eg. asszonnyal » asz-szony-nyal instead of az-szoy-nyal) and Dutch (eg. omaatje » oma-tje instead of omaa-atje, cafeetje » café-tje instead of cafeét-je). Swedish, Norwegian and partly Dutch need only hyphenation dictionary extension to [...]]]></description>
				<content:encoded><![CDATA[<p>Hyphenation in cells and shapes was fixed a few days ago for Catalan (for example, paral·lel » paral-lel, instead of parall-lel), Hungarian (eg. asszonnyal » asz-szony-nyal instead of az-szoy-nyal) and Dutch (eg. omaatje » oma-tje instead of omaa-atje, cafeetje » café-tje instead of cafeét-je). Swedish, Norwegian and partly Dutch need only hyphenation dictionary extension to support non-standard hyphenation in LibreOffice, Greek and Dutch need also Writer and Calc/Draw (editeng) development to support the alternation after the hyphenation break. More information: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=63711">bug 63711</a> (closed), <a href="https://bugs.freedesktop.org/show_bug.cgi?id=42383">bug 42383</a> (open), <a href="http://sourceforge.net/projects/hunspell/files/Hyphen/">Hyphen library</a> (see tests/unicode.* example for non-standard hyphenation patterns of Dutch, Greek, Norwegian and Swedish).<br />
<a href="http://libreoffice.hu/files/2013/04/Calc_hyphenation.png" rel="lightbox[5551]" title="Hyphenation in Calc and Draw"><img src="http://libreoffice.hu/files/2013/04/Calc_hyphenation.png" alt="Calc_hyphenation" width="624" height="208" class="alignright size-full wp-image-5552" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://libreoffice.hu/2013/04/22/hyphenation-in-calc-and-draw/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improvements in local help</title>
		<link>http://libreoffice.hu/2013/02/13/improvements-in-local-help/</link>
		<comments>http://libreoffice.hu/2013/02/13/improvements-in-local-help/#comments</comments>
		<pubDate>Wed, 13 Feb 2013 15:49:53 +0000</pubDate>
		<dc:creator>timar</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[help]]></category>

		<guid isPermaLink="false">http://libreoffice.hu/?p=5422</guid>
		<description><![CDATA[I would like to show you two recent improvements in local help system of LibreOffice. Indentation and syntax highlighting of Basic code examples Basic code examples were hard to read in LibreOffice help, because code blocks were not indented. Also, people got used to syntax highlighting in editors. By LibreOffice 4.0 I made the code [...]]]></description>
				<content:encoded><![CDATA[<p>I would like to show you two recent improvements in local help system of LibreOffice.</p>
<h3>Indentation and syntax highlighting of Basic code examples</h3>
<p>Basic code examples were hard to read in LibreOffice help, because code blocks were not indented. Also, people got used to syntax highlighting in editors.<br />
By LibreOffice 4.0 I made the code examples indented with some scripts and a bit of manual work. I also tweaked help-to-wiki conversion script, so online WikiHelp of LibreOffice 4.0 will feature syntax highlighting of Basic code examples.<br />
For the local help content, my idea was to re-use <i>SyntaxHighlighter</i> class from <i>svtools</i> in help compiler, so we could add the colors build-time, without modifying the source and create work for translators. <b>Dávid Vastag</b>, a university student, who worked with Novell Hungary as a trainee, helped me to implement this feature in help compiler. The following screenshots show how an example Basic code is rendered in different versions of LibreOffice help.<br />
<div id="attachment_5425" class="wp-caption aligncenter" style="width: 361px"><a href="http://libreoffice.hu/files/2013/02/bascode-36.png" rel="lightbox[5422]" title="bascode-36"><img src="http://libreoffice.hu/files/2013/02/bascode-36.png" alt="" title="bascode-36" width="351" height="180" class="size-full wp-image-5425" /></a><p class="wp-caption-text">LibreOffice 3.6</p></div><br />
<div id="attachment_5426" class="wp-caption aligncenter" style="width: 362px"><a href="http://libreoffice.hu/files/2013/02/bascode-40.png" rel="lightbox[5422]" title="bascode-40"><img src="http://libreoffice.hu/files/2013/02/bascode-40.png" alt="" title="bascode-40" width="352" height="180" class="size-full wp-image-5426" /></a><p class="wp-caption-text">LibreOffice 4.0</p></div><br />
<div id="attachment_5427" class="wp-caption aligncenter" style="width: 362px"><a href="http://libreoffice.hu/files/2013/02/bascode-41.png" rel="lightbox[5422]" title="bascode-41"><img src="http://libreoffice.hu/files/2013/02/bascode-41.png" alt="" title="bascode-41" width="352" height="181" class="size-full wp-image-5427" /></a><p class="wp-caption-text">LibreOffice 4.1</p></div></p>
<h3>Size reduction of local help</h3>
<p>When I studied help XML files, I noticed that many of the tags and attributes are not needed run-time. Some of them are even completely obsolete, and are not needed at all. However a mass clean-up in the source would not be desirable, it can cause extra work for translators for example. My idea was to apply a stylesheet to each file in the help compilation phase. I created <a href="https://gerrit.libreoffice.org/gitweb?p=core.git;a=blob;f=xmlhelp/util/compact.xsl">compact.xsl</a>, which removes comments, whitespace, and unnecessary tags and attributes. The size of en-US Windows MSI help pack decreased from 7.83 MB to 5.14 MB &ndash; 34% less!</p>
]]></content:encoded>
			<wfw:commentRss>http://libreoffice.hu/2013/02/13/improvements-in-local-help/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Logo for template development</title>
		<link>http://libreoffice.hu/2013/02/02/logo-for-template-development/</link>
		<comments>http://libreoffice.hu/2013/02/02/logo-for-template-development/#comments</comments>
		<pubDate>Sat, 02 Feb 2013 18:06:43 +0000</pubDate>
		<dc:creator>Németh László</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[LibreLogo]]></category>

		<guid isPermaLink="false">http://libreoffice.hu/?p=5356</guid>
		<description><![CDATA[This PDF poster has been created by LibreOffice 4.0 demonstrating the capabilities of the new Logo toolbar and programming environment, also introducing (the English localization of) the commands of this Logo variant, LibreLogo. [By the way, cropping the Logo drawings on the poster was a tricky process, because the simple conversion to GDI metafile and [...]]]></description>
				<content:encoded><![CDATA[<p><div class="wp-caption alignright" style="width: 410px"><img alt="" src="https://wiki.documentfoundation.org/images/thumb/4/49/Logoposter_en.jpg/400px-Logoposter_en.jpg" width="400" height="566" /><p class="wp-caption-text">LibreLogo poster (original <a href="http://www.numbertext.org/logo/posters/logoposter_en.pdf">PDF</a> and <a href="http://www.numbertext.org/logo/posters/logoposter_en.odt">OpenDocument</a> versions)</p></div>This PDF poster has been created by LibreOffice 4.0 demonstrating the capabilities of the new Logo toolbar and programming environment, also introducing (the English localization of) the commands of this Logo variant, LibreLogo. [By the way, cropping the Logo drawings on the poster was a tricky process, because the simple conversion to GDI metafile and cropping by the standard Writer crop tool is a problem source in PDF postprocessing, eg. RGB to CMYK color conversion by GhostScript results the original drawings without cropping. The working solution: copy the drawing into Draw, set the page size to the cropping area, export the document as SVG file, and insert this SVG file into Writer.]</p>
<p>The simple programmable vector graphics of LibreOffice 4 is quite useful in OpenDocument template development. The templates.libreoffice.org site has got a new section called LibreLogo, and some interesting new Logo related templates:</p>
<div class="wp-caption alignnone" style="width: 217px"><img alt="" src="http://templates.libreoffice.org/template-center/music-paper-drawing/screenshot" width="207" height="292" /><p class="wp-caption-text">Blank sheet single line and double line <a href="http://templates.libreoffice.org/template-center/music-papers">music papers</a> (see <a href="http://templates.libreoffice.org/template-center/music-papers/releases/1.0/musicpapers.odt">ODT</a> and <a href="http://templates.libreoffice.org/template-center/music-papers/releases/1.0/musica4single.pdf">PDF1</a>, <a href="http://templates.libreoffice.org/template-center/music-papers/releases/1.0/musica4double.pdf">PDF2</a>) and their <a href="http://templates.libreoffice.org/template-center/music-paper-drawing">generator program</a>.<br /></p></div>
<div class="wp-caption alignnone" style="width: 319px"><img alt="" src="http://templates.libreoffice.org/template-center/striped-border/screenshot" width="309" height="438" /><p class="wp-caption-text"><a href="http://templates.libreoffice.org/template-center/striped-border">Striped border drawing program</a>. The program asks for the border and margin width, and the list of the colors (eg. stripes of a national flag or the rainbow). For example, a new template based on this Logo template is a <a href="http://templates.libreoffice.org/template-center/hirdetmeny">“red-white-green” bordered ODF template</a> for announcements of Hungarian local authorities for elections.</p></div>
<div class="wp-caption alignnone" style="width: 384px"><img alt="" src="http://templates.libreoffice.org/template-center/crossword/screenshot" width="374" height="219" /><p class="wp-caption-text">Simple <a href="http://templates.libreoffice.org/template-center/crossword">crossword generator</a> for teachers and (language) learners. The program will ask (1) the letter size of the crossword in pt, (2) the solution (the vertical word) and (3) the horizontal words. Word order, plus or missing words don’t matter, because the program asks new words, if needed.<br /></p></div>
<div class="wp-caption alignnone" style="width: 318px"><img alt="" src="http://templates.libreoffice.org/template-center/crop-mark/screenshot" width="308" height="308" /><p class="wp-caption-text"><a href="http://templates.libreoffice.org/template-center/crop-mark">Crop mark drawing program</a> for ODF and PDF documents with detailed instructions about postprocessing of LibreOffice generated PDFs, eg. combining crop marks with existing PDFs, PDF cropbox setting, RGB/CMYK color conversion.</p></div>
<div class="wp-caption alignnone" style="width: 459px"><img alt="" src="http://templates.libreoffice.org/template-center/chessboard/screenshot" width="449" height="463" /><p class="wp-caption-text"><a href="http://templates.libreoffice.org/template-center/chessboard">Chessboard generator</a>. Typesetting chessboard manually or by notation in LibreOffice 4 using standard Unicode chess figures. (More about this chess drawing program and the next one: <a href="http://libreoffice.hu/2012/12/12/logo-for-desktop-publishing/">Logo for desktop publishing</a>)</p></div>
<div class="wp-caption alignnone" style="width: 462px"><img alt="" src="http://templates.libreoffice.org/template-center/chessboard-2/screenshot" width="452" height="462" /><p class="wp-caption-text"><a href="http://templates.libreoffice.org/template-center/chessboard-2">Chessboard generator 2</a>. Typesetting chessboard by notation in LibreOffice 4, using a traditional chess font face, Chess Merida.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://libreoffice.hu/2013/02/02/logo-for-template-development/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Logo for desktop publishing</title>
		<link>http://libreoffice.hu/2012/12/12/logo-for-desktop-publishing/</link>
		<comments>http://libreoffice.hu/2012/12/12/logo-for-desktop-publishing/#comments</comments>
		<pubDate>Wed, 12 Dec 2012 12:10:20 +0000</pubDate>
		<dc:creator>Németh László</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[Nincs kategorizálva]]></category>
		<category><![CDATA[LibreLogo]]></category>

		<guid isPermaLink="false">http://libreoffice.hu/?p=5181</guid>
		<description><![CDATA[In the previous blog post there was a Christmas postcard created by the help of LibreLogo, the simplified programming interface of LibreOffice Writer for graphic design. Now I will show more DTP-related examples: typesetting chessboards with high print quality in LibreOffice 4.0, and a special Christmas ball. (It will be possible to test these examples [...]]]></description>
				<content:encoded><![CDATA[<p>In the <a href="http://libreoffice.hu/2012/11/29/logo/">previous blog post</a> there was a Christmas postcard created by the help of LibreLogo, the simplified programming interface of LibreOffice Writer for graphic design. Now I will show more DTP-related examples: <b>typesetting chessboards with high print quality</b> in LibreOffice 4.0, and a special Christmas ball. (It will be possible to test these examples in the next beta version of LibreOffice 4.0 under Windows, too).<br />
<b>Typesetting chessboards using special chess fonts.</b> This example (see first picture and <a href="http://www.numbertext.org/logo/examples/chess2.pdf">PDF</a>, <a href="http://www.numbertext.org/logo/examples/chess2.odt">ODT</a> with source code) uses a special TrueType font, <a href="http://mip.noekeon.org/HTMLTTChess/chess_merida_unicode.html">Chess Merida</a>, filled with characters of the same size (partially combined with black hatched background). The LibreLogo program puts every characters into different text shapes using the LABEL command. The text shapes are grouped by the special PICTURE command of LibreLogo, so the result will be a single grouped shape (use the ungroup icon of the Drawing Object Properties toolbar to remove this grouping). The program asks for the point size of the figures and the positions of the chess figures in chess notation. Decoding of the standard notation is solved by only a few program lines, thanks to the compact Python data structures of LibreLogo.<br />
<a href="http://www.numbertext.org/logo/examples/chess2.pdf"><img src="http://libreoffice.hu/files/2012/12/chess.jpg" alt="Typesetting chessboard by special chess font" width="154" height="155" class="align size-full wp-image-5186" /></a> <a href="http://www.numbertext.org/logo/examples/chess.pdf"><img src="http://libreoffice.hu/files/2012/12/chess2.jpg" alt="Typesetting chessboard by standard Unicode characters" width="152" height="158" style="vertical-align: top" class="align size-full wp-image-5186" /></a> <a href="http://libreoffice.hu/files/2012/12/com0.png" rel="lightbox[5181]" title="Logo for desktop publishing"><img src="http://libreoffice.hu/files/2012/12/com0.png" alt="Combining and positioning chess figures" width="145" height="151" style="vertical-align: top" class="align size-full wp-image-5223" /></a><br />
<b>Typesetting chessboards only with standard Unicode characters, by notation or manual positioning.</b> This chessboard drawing program depends only from standard Unicode chess characters (see second picture, and <a href="http://www.numbertext.org/logo/examples/chess.pdf">PDF</a>, <a href="http://www.numbertext.org/logo/examples/chess.odt">ODT</a> with source code). To get real white figures from the transparent characters of the Unicode white chess figures the program draws two invisible square shapes for a figure, and put a black chess figure character in white into the background square, and the white chess character into the foreground square by the TEXT commands (see picture). The two squares are grouped by PICTURE. Without the given notation, the program draws a full chessboard, and it’s possible to move the figures to the requested positions manually (frames of the invisible squares allow precise positioning).<br />
<b>Christmas song on a Christmas ball.</b> These beautiful Christmas balls are composed of 5-5 paper stripes. The stripes contain plain and upside-down lines of a Christmas song (English version with instructions: <a href="http://www.numbertext.org/logo/examples/christmasball.pdf">PDF</a>, <a href="http://www.numbertext.org/logo/examples/christmasball.odt">ODT</a> with source code). The Christmas balls (and the Christmas stars of the previous post) were very popular on the Christmas Fair yesterday, thanks for the nice work of Veronika Bognár and Éva Bozsó.<br />
<a href="http://libreoffice.hu/files/2012/12/typosphere_big.jpg" rel="lightbox[5181]" title="Logo for desktop publishing"><img src="http://libreoffice.hu/files/2012/12/typ.jpg" alt="Christmas songs on Christmas balls" width="267" height="200" class="align size-full wp-image-5230" /></a><a href="http://libreoffice.hu/files/2012/12/typosphere2.jpg" rel="lightbox[5181]" title="Logo for desktop publishing"><img src="http://libreoffice.hu/files/2012/12/typ2.jpg" alt="Christmas song on a Christmas ball" width="251" height="200" class="align size-full wp-image-5229" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://libreoffice.hu/2012/12/12/logo-for-desktop-publishing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logo</title>
		<link>http://libreoffice.hu/2012/11/29/logo/</link>
		<comments>http://libreoffice.hu/2012/11/29/logo/#comments</comments>
		<pubDate>Thu, 29 Nov 2012 13:44:56 +0000</pubDate>
		<dc:creator>Németh László</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[LibreLogo]]></category>

		<guid isPermaLink="false">http://libreoffice.hu/?p=5115</guid>
		<description><![CDATA[Drawing and programming are fun, and it’s often useful to combine them. The aim of LibreLogo, the new experimental LibreOffice module + Writer toolbar to give an easy, Logo-like, Python based programming environment to the excellent vector graphics of LibreOffice. Here (and in my next posts) I will show examples of LibreLogo usage in school/office [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.numbertext.org/logo/examples/turtle.svg"><img src="http://libreoffice.hu/files/2012/11/turtle2.png" alt="" width="200" height="205" class="alignleft size-full wp-image-5120" /></a>
<p>Drawing and programming are fun, and it’s often useful to combine them. The aim of LibreLogo, the new experimental LibreOffice module + Writer toolbar to give an easy, Logo-like, Python based programming environment to the excellent vector graphics of LibreOffice. Here (and in my next posts) I will show examples of LibreLogo usage in school/office environment.</p>
<p><b>Fine graphics with printing quality.</b> PDF and SVG exports of the OpenDocument format support printing and DTP programs: click on the first picture for the SVG export (Warning! It may halt Firefox 15).</p>
<p><a href="http://libreoffice.hu/files/2012/11/star2.jpg" rel="lightbox[5115]" title="Logo"><img src="http://libreoffice.hu/files/2012/11/star.jpg" alt="" width="120" height="200" class="align size-full wp-image-5119" /></a><a href="http://www.numbertext.org/logo/examples/star.pdf"><img src="http://libreoffice.hu/files/2012/11/star200.png" alt="" width="141" height="200" class="align size-full wp-image-5131" /></a><a href="http://libreoffice.hu/files/2012/11/foldstar.jpg" rel="lightbox[5115]" title="Logo"><img src="http://libreoffice.hu/files/2012/11/foldstar.jpg" alt="" width="200" height="150" class="alignnone size-full wp-image-5117" /></a></p>
<p><b>Precise drawing.</b> Turtle moving commands of LibreLogo supports printing measurements, and combining with manual handling of drawing objects in LibreOffice, it can save expensive decorative paper, as for these 3D Christmas stars (made for the local School Christmas fair). <a href="http://www.numbertext.org/logo/examples/star.pdf">PDF</a>, <a href="http://www.numbertext.org/logo/examples/star2.pdf">PDF2</a> (with spirals), <a href="http://www.numbertext.org/logo/examples/star.odt">ODT</a> (with LibreLogo source).</p>
<p><a href="http://www.numbertext.org/logo/examples/snow.pdf"><img src="http://libreoffice.hu/files/2012/11/merrychristmas.jpg" alt="" width="200" height="142" class="alignright size-full wp-image-5118" /></a>
<p><b>Fancy, unique documents.</b> This Christmas background created by random snowflakes: Unicode character “❄” (U+2744) with random sizes, positions and angles. The result of the LibreLogo program has been modified (overlapping of snowflakes, title) manually. <a href="http://www.numbertext.org/logo/examples/snow.pdf">PDF</a>, <a href="http://www.numbertext.org/logo/examples/snow.odt">ODT</a> (with LibreLogo source).</p>
<p>More information: <a href="http://www.numbertext.org/logo/librelogo.pdf">my LibreOffice conference presentation</a> and a <a href="http://cor4office.blogspot.nl/2012/11/what-arabic-turtle-and-google-have-to.html">blog post</a> also about LibreLogo from Cor Nouws.</p>
]]></content:encoded>
			<wfw:commentRss>http://libreoffice.hu/2012/11/29/logo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>feature/killsdf branch merged</title>
		<link>http://libreoffice.hu/2012/11/27/featurekillsdf-branch-merged/</link>
		<comments>http://libreoffice.hu/2012/11/27/featurekillsdf-branch-merged/#comments</comments>
		<pubDate>Tue, 27 Nov 2012 15:28:53 +0000</pubDate>
		<dc:creator>timar</dc:creator>
				<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://libreoffice.hu/?p=5101</guid>
		<description><![CDATA[What was SDF and why did we kill it? LibreOffice source code contains translatable content in various file formats. It was desirable to present translatable content to translators in a single file format, so they did not have learn how to edit different file formats. Therefore back in the OpenOffice.org era SDF file format was [...]]]></description>
				<content:encoded><![CDATA[<p>What was SDF and why did we kill it? LibreOffice source code contains translatable content in various file formats. It was desirable to present translatable content to translators in a single file format, so they did not have learn how to edit different file formats. Therefore back in the OpenOffice.org era SDF file format was invented. It was a simple tab separated text file. Localization tools extacted translatable content into SDF file format, and localized SDF files were merged back to source code during the build. </p>
<p>One cannot imagine simpler file format, than a tab separated text. When I translated OpenOffice.org into Hungarian, I built a tool set around it, and translated it happily. But not every translator was a programmer, or capable of using scripts. Translators demanded <a href="http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html#PO-Files" target="_blank">PO file format</a>, which is a quasi-standard file format for localization in the open source world. Translate Toolkit and Pootle became part of the localization process, en-US SDF file was converted to POT (PO Template) files, and translated PO files were converted back to SDF manually.</p>
<p>When LibreOffice project started, I wanted to amend the process for two reasons. </p>
<ol>
<li>Huge SDF files blew the git repository. Git does not work well with large, frequently updated text files.</li>
<li>Manual conversion from PO to SDF was a tedious job.</li>
</ol>
<p>Therefore I implemented to store PO files in git, and convert them to SDF automatically during the build. In LibreOffice 3.4 we used <code>po2oo</code> from Translate Toolkit for the back-conversion. In LibreOffice 3.5 <code>po2oo</code> was replaced by <code>po2lo</code> written by Miklos Vajna, which was 30x as fast as <code>po2oo</code>.</p>
<p>But why convert translations from one format to another, why not use PO files directly? This is what was developed in feature/killsdf branch in the past few months. Most of the programming work was done by a young developer, Tamas Zolnai, who was a trainee at <a href="http://novell.hu">Novell Hungary</a> in the summer, and now he is a fellow of <a href="http://www.fsf.hu/">FSF.hu Foundation</a> (FSF.hu sponsors his work on LibreOffice). Now localization tools extract translatable content from the source code directly to PO files, and they read PO files directly during the build. SDF files are not generated any more. At the same time localization tools were refactored. Perl scripts have gone. All tools are in C++ now. Further cleanup and optimizations are on the way on master branch. I fixed the last remaining issues after the merge in Munich Hackfest 2012.</p>
]]></content:encoded>
			<wfw:commentRss>http://libreoffice.hu/2012/11/27/featurekillsdf-branch-merged/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Shrinking size of Windows installer</title>
		<link>http://libreoffice.hu/2012/08/29/shrinking-size-of-windows-installer/</link>
		<comments>http://libreoffice.hu/2012/08/29/shrinking-size-of-windows-installer/#comments</comments>
		<pubDate>Wed, 29 Aug 2012 16:51:31 +0000</pubDate>
		<dc:creator>timar</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[windows installer]]></category>

		<guid isPermaLink="false">http://libreoffice.hu/?p=4933</guid>
		<description><![CDATA[Size of Windows installer of LibreOffice 3.3 – that contained all languages – was 253MB. In LibreOffice 3.4 we managed shrink it significantly, to 197MB. It would have been nice to measure how each cleanup commit contributed to this achievement, but I&#8217;m afraid the most important factor was the right setting of compression levels. Not [...]]]></description>
				<content:encoded><![CDATA[<p>Size of Windows installer of LibreOffice 3.3 – that contained all languages – was 253MB. In LibreOffice 3.4 we managed shrink it significantly, to 197MB. It would have been nice to measure how each cleanup commit contributed to this achievement, but I&#8217;m afraid the most important factor was the right setting of compression levels.</p>
<p>Not much have happened since then, we added new languages, new dictionaries, new features, and cleanup continued, but the size of installer remained approximately the same: 198MB for LibreOffice 3.6.0.</p>
<p>However, in LibreOffice 3.7 there will be some improvement in this field. A couple of days ago Istvan Turi – who spent 6 weeks with LibreOffice hacking as a trainee at Novell Hungary – committed a few patches and I also committed one, which removed all language dependent agenda/fax/letter/report and spreadsheet style templates. Approximately 2000 files were removed from git. Even more were removed from installer, because these templates were not localized into all supported languages, so en-US templates were copied for them. Size of installer has been decreased to <strong>185MB</strong>, 6.57% less than before. </p>
<p>The good news is that we did not loose functionality here. Localization will be done runtime. Translators can translate strings from these templates in .po files. I bet that many language teams did not know about these templates, now they have the chance to localize them properly.</p>
]]></content:encoded>
			<wfw:commentRss>http://libreoffice.hu/2012/08/29/shrinking-size-of-windows-installer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My hack at Hamburg Hackfest</title>
		<link>http://libreoffice.hu/2012/04/15/my-hack-at-hamburg-hackfest/</link>
		<comments>http://libreoffice.hu/2012/04/15/my-hack-at-hamburg-hackfest/#comments</comments>
		<pubDate>Sun, 15 Apr 2012 16:29:52 +0000</pubDate>
		<dc:creator>timar</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[hackfest]]></category>
		<category><![CDATA[hamburg]]></category>
		<category><![CDATA[l10n]]></category>

		<guid isPermaLink="false">http://libreoffice.hu/?p=4653</guid>
		<description><![CDATA[When I arrived in Hamburg I did not know exactly what I would hack on. Something localization related was in my mind. Then I decided that I would like to solve an easy hack which has not been picked by anyone for 18 months, yet it is important from the localization point of view. In [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://libreoffice.hu/files/2012/04/335px-HHHackfest.png" alt="Hamburg Hackfest 2012 logo" width="335" class="alignleft wp-image-4654" /> When I arrived in Hamburg I did not know exactly what I would hack on. Something localization related was in my mind. Then I decided that I would like to solve an easy hack which has not been picked by anyone for 18 months, yet it is important from the localization point of view. In source code of UI strings (both in vcl resources, and in xml config files) it is possible to add comments to English UI string in order to explain or disambiguate them. These comments have a special language code: x-comment. Until now tooling ignored these comments, they were not extracted to sdf/po files, so they were little of use to translators. There are not many x-comments in the code, but it is no wonder. It would have not made sense to write comments that nobody would ever see. I patched l10ntools in master, so from now on x-comments are extracted, and will be there in the po files.</p>
<div id="attachment_4660" class="wp-caption aligncenter" style="width: 690px"><a href="http://libreoffice.hu/files/2012/04/Screenshot-at-2012-04-15-170311.png" rel="lightbox[4653]" title="My hack at Hamburg Hackfest"><img src="http://libreoffice.hu/files/2012/04/Screenshot-at-2012-04-15-170311.png" alt="x-comment and KeyID in Pootle" width="680" height="282" class="size-full wp-image-4660" /></a><p class="wp-caption-text">x-comment and KeyID in Pootle</p></div>
<p>This is how it will look like in Pootle, when we will start to translate LibreOffice 3.6. Next to the KeyID the x-comment will appear, if there is one. Now it is up to translators and developers to write good comments for the problematic parts of the UI. Give context, explain things, when someting is non-trivial. Please send patches, make new translators&#8217; job easier.</p>
<p>Example from svx/source/dialog/sdstring.src:</p>
<p><code>String RID_SVXSTR_GRDT10<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;Text [ en-US ] = "Diagonal 1l";<br />
&nbsp;&nbsp;&nbsp;&nbsp;Text [ x-comment ] = "l means left";<br />
};</code></p>
<p>Currently there are no comments in xml configuration files, but if there were, an entry would look like this:</p>
<p><code>&lt;prop oor:name="VerbUIName"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;value xml:lang="x-comment"&gt;This is the Open command.&lt;/value&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;value xml:lang="en-US"&gt;~Open&lt;/value&gt;<br />
&lt;/prop&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://libreoffice.hu/2012/04/15/my-hack-at-hamburg-hackfest/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hinting in the upcoming 3.5</title>
		<link>http://libreoffice.hu/2012/02/13/hinting-in-the-upcoming-3-5/</link>
		<comments>http://libreoffice.hu/2012/02/13/hinting-in-the-upcoming-3-5/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 11:35:52 +0000</pubDate>
		<dc:creator>Németh László</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[linux libertine g]]></category>
		<category><![CDATA[typography]]></category>

		<guid isPermaLink="false">http://libreoffice.hu/?p=4447</guid>
		<description><![CDATA[LibreOffice 3.5 has got extraordinary typographical capabilities with the improved Graphite port of the new versions of Linux Libertine and Linux Biolinum font families: new and improved font variants from Philipp Poll et al., like the excellent Linux Libertine Display G (true size variant of Linux Libertine for 16pt or more) and the new bold [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://libreoffice.hu/files/2012/02/hintingdemo.png" rel="lightbox[4447]" title="Hinting in the upcoming 3.5"><img src="http://libreoffice.hu/files/2012/02/hintingdemo_preview.jpg" alt="" width="300" height="209" class="alignleft size-medium wp-image-4449" /></a>LibreOffice 3.5 has got extraordinary typographical capabilities with the <a href="http://www.numbertext.org/linux">improved Graphite port</a> of the new versions of Linux Libertine and Linux Biolinum font families: new and improved font variants from Philipp Poll et al., like the excellent Linux Libertine Display G (true size variant of Linux Libertine for 16pt or more) and the new bold and semibold variants (see also <a href="http://www.linuxlibertine.org">LinuxLibertine.org</a>); font features, like true small caps, old figures, ligatures, proportional numbers have been extended with proper combining diacritics for scientific texts and several languages, and with extended superiors (also true size variant) for typesetting of captions, footnotes, etc., see <a href="http://www.numbertext.org/linux/NEWS.pdf">release notes/examples</a> of the Graphite fonts.<br />
The main problem of the old versions of the Graphite TrueType fonts was the ugly hinting (the PostScript Type 2 hinting of the original OpenType fonts has been lost by transformation, and replaced by Fontforge autohinting). Fortunately (also thanks to the ttfautohint related <a href="http://libregraphicsworld.org/blog/entry/5-free-typography-projects-you-still-can-support-this-year">article</a> of Libre Graphics World editor Alexandre Prokoudine), I was be able to fix the hinting by the new FreeType tool <a href="http://www.freetype.org/ttfautohint/">ttfautohint</a>, so Linux Libertine G and Biolinum G Graphite fonts of LibreOffice 3.5 are suitable for digital publishing, too. Moreover, ttfautohint gives better result in a few places, than the original OpenType hinting, see the bad space in the Linux Libertine Italic text “laz y”, or the bad “w” in the Biolinum Bold and Italic OpenType text. (Click on the picture to see the three different hintings in Adobe Reader on Linux).</p>
]]></content:encoded>
			<wfw:commentRss>http://libreoffice.hu/2012/02/13/hinting-in-the-upcoming-3-5/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Grammar checking in LibreOffice</title>
		<link>http://libreoffice.hu/2011/12/08/grammar-checking-in-libreoffice/</link>
		<comments>http://libreoffice.hu/2011/12/08/grammar-checking-in-libreoffice/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 18:24:36 +0000</pubDate>
		<dc:creator>Németh László</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[grammar checker]]></category>
		<category><![CDATA[Lightproof]]></category>

		<guid isPermaLink="false">http://libreoffice.hu/?p=4037</guid>
		<description><![CDATA[Competitive grammar checking would be a nice improvement for LibreOffice. Supported by FSF.hu Foundation, Hungary, I have made two sentence checking patches to the English and Hungarian dictionary extensions of LibreOffice, based on the Lightproof Python UNO environment: see the related issue, the description and the standalone extensions. [Update: source code, Lightproof editor extension] One [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://libreoffice.hu/files/2011/12/grammarfullcomment.png" rel="lightbox[4037]" title="Grammar checking in LibreOffice"><img src="http://libreoffice.hu/files/2011/12/grammarfullcomment-300x212.png" alt="" width="300" height="212" class="alignleft size-medium wp-image-4469" /></a>Competitive grammar checking would be a nice improvement for LibreOffice. Supported by <a href="http://www.fsf.hu">FSF.hu Foundation</a>, Hungary, I have made two sentence checking patches to the English and Hungarian dictionary extensions of LibreOffice, based on the Lightproof Python UNO environment: see the <a href="https://bugs.freedesktop.org/show_bug.cgi?id=31059">related issue</a>, the <a href="http://www.numbertext.org/lightproof/sentencecheck.pdf">description</a> and the <a href="http://www.numbertext.org/lightproof">standalone extensions</a>. [Update: <a href="http://cgit.freedesktop.org/libreoffice/lightproof/">source code</a>, <a href="http://extensions.libreoffice.org/extension-center/lightproof-editor">Lightproof editor extension</a>]</p>
<p>One of the main concepts of “sentence checking” is to break the bad habit of grammar checkers, the annoyingly frequent false alarms. Reporting all potential (but usually not) problems isn&#8217;t able to replace proofreading, but very frustrating: <i>“the most useless feature ever added to Microsoft Word</i> [...] <i>With this feature, an infinite number of monkeys will analyze your writing and present you with useless grammar complaints while not alerting you to actual grammatical errors because computers don’t understand grammar. Sure, it sounds great on a box—or a promotional Web site—but anyone who knows, knows that grammar checking is a sham. Just say no.”</i> (Jason Snell), <i>“Computer grammar checking really is terrible.</i> [...] <i>The things they are good at, like spotting the occasional </i>the the <i>typing error, are very easy there are very few of them. For the most part, accepting the advice of a computer grammar checker on your prose will make it much worse, sometimes hilariously incoherent. If you want an amusing way to whiling away a rainy afternoon, take a piece of literary prose you consider sublimely masterful and run the Microsoft Word™ grammar checker on it, accepting all the suggested changes.”</i> (<a href="http://itre.cis.upenn.edu/~myl/languagelog/archives/005061.html">Geoffrey K. Pullum</a>, cited by <a href="http://en.wikipedia.org/wiki/Grammar_checker#Criticism">Wikipedia</a>), <i>“My take is that we should encourage students to spell check and revise accordingly, but skip the grammar check and proofread instead.”</i> (<a href="http://penningtonpublishing.com/blog/grammar_mechanics/grammar-checkers-for-teachers/">Mark Pennington</a>). One of the most important improvements of the last few Microsoft Office versions was lowering the “sensitivity” of the grammar checker, responding to customer feedback (<a href="http://faculty.washington.edu/sandeep/d/compilation.pdf">source</a>).</p>
<p>In the next few examples I will show how can we make more precise grammar checking:</p>
<p><u>First rule: we don&#8217;t need to catch all mistakes.</u> In fact, we cannot catch all mistakes. We have got only “monkeys”, and often debatable and controversial concepts about grammatical correctness.</p>
<p><b>Example 1. Capitalization</b></p>
<p>The following Lightproof rule searches the sentence beginning lower-case letters, and suggests upper-case ones:</p>
<p><code>^([a-z]) -&gt; =\1.upper() # Missing capitalization?</code></p>
<p>Unfortunately, there will be many false alarms, especially after abbreviations, because Lightproof has a very simple default sentence boundary detection based on only the paragraph beginning, and sentence ending punctuation (full stop, exclamation mark and question mark). We can check the previous word for abbreviations by a fast Python regex object called <code>abbrev</code>:</p>
<p><code>^([a-z]) &lt;- not abbrev.search(word(-1)) -&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;=\1.upper() # Missing capitalization?<br />
[code]<br />
# pattern matching for common English abbreviations<br />
abbrev = re.compile("(?i)\b([a-z]|acct|approx|\<br />
appt|apr|apt|assoc|asst|aug|ave|avg|co(nt|rp)?|\<br />
ct|dec|defn|dept|dr|eg|equip|esp|est|etc|excl|\<br />
ext|feb|fri|ft|govt?|hrs?|ib(id)?|ie|in(c|t)?|\<br />
jan|jr|jul|lit|ln|mar|max|mi(n|sc)?|mon|Mrs?|\<br />
mun|natl?|neg?|no(rm|s|v)?|nw|obj|oct|org|orig|\<br />
pl|pos|prev|proj|psi|qty|rd|rec|rel|reqd?|resp|\<br />
rev|sat|sci|se(p|pt)?|spec(if)?|sq|sr|st|subj|\<br />
sun|sw|temp|thurs|tot|tues|univ|var|vs)\.")</code></p>
<p>The sentence segmentation is better, but not enough for a non-intrusive grammar checker (see also the similar decision of Raphael Mudge, author of the more sophisticated and resource-intensive <a href="http://open.afterthedeadline.com/">AtD</a> grammar checker <a href="http://aclweb.org/anthology-new/W/W10/W10-0404.pdf">here</a>). We will limit the default checking only for paragraph capitalization, more precisely, checking for the first sentence of a paragraph. The difference is important: lower-case list items seem paragraphs for grammar checker clients of LibreOffice, so we check only the paragraphs with more sentences:</p>
<p><code>^([a-z]) &lt;- re.search("^[a-z].*[.?!] [A-Z]", TEXT)<br />
&nbsp;&nbsp;&nbsp;&nbsp;and not abbrev.search(TEXT) -&gt; = \1.upper()<br />
&nbsp;&nbsp;&nbsp;&nbsp;# Missing capitalization?</code></p>
<p>(The string variable TEXT contains the full text of the paragraph.)</p>
<p><u>Second rule: we have to limit false alarms to zero or near zero.</u></p>
<p><b>Example 2. Article a/an</b></p>
<p>The choice of "a" or "an" is determined by phonetic rules and in some cases, also spelling conventions, see <a href="http://en.wikipedia.org/wiki/English_articles#Discrimination_between_a_and_an">Wikipedia</a>. We have to care about the non-standard pronunciation and writing, too, like the form “an HTML” where the letter H pronounced as [ˈheɪtʃ] (see <a href="http://en.wikipedia.org/wiki/H#Name_in_English">Wikipedia</a> and <a href="http://www.bbc.co.uk/news/magazine-11642588">BBC</a>), and the rare, but similarly allowed spelling conventions: “an hotel”, “an historic” etc. A relevant Lightproof rule to test the “a”:</p>
<p><code># pattern "vow" matches words beginning with vowels:<br />
vow [aeiouAEIOU]\w*</p>
<p>a {vow} &lt;- {vow} &lt;&gt; {vow}.upper() and not<br />
&nbsp;&nbsp;&nbsp;&nbsp;({vow} in aA or {vow}.lower() in aA)<br />
&nbsp;&nbsp;&nbsp;&nbsp;and spell({vow}) -&gt; an {vow} # Bad article?<br />
[code]<br />
aA = set(["eucalypti", "eucalyptus", "Eucharist", "Eucharistic",<br />
"euchre", "euchred", "euchring", "Euclid", "euclidean", "Eudora",<br />
"eugene", "Eugenia", "eugenic", "eugenically", "eugenicist",<br />
...])</code></p>
<p>One of the most interesting elements of the condition is the final spelling dictionary lookup<br />
by the function spell(): this step limits the grammar checking for the known words. Missing words from the exception list (here: “aA”) and from the spelling dictionary won’t result false alarms, for example for the expression “a uremic” or the rare “a usuress”.</p>
<p><u>Third rule: Don’t hurt people unnecessarily.</u></p>
<p><b>Example 3. Spacing</b></p>
<p>Instead of annoying multiple spaces, like</p>
<p><code>"&nbsp;&nbsp;+" -&gt; "&nbsp;" # Remove repeating spaces or use tabulators/styles for formatting.</code></p>
<p>it’s better to check only double (maybe triple) spaces between words. There is living typewriter tradition in the digital age among the users of word processors, too, see <a href="http://en.wikipedia.org/wiki/Sentence_spacing">sentence spacing with double spaces</a>. So the proposed grammar checker has got three options for spacing: a default option for word spacing, and two optional for sentence spacing and the bad positioning with multiple spaces.</p>
<p><b>Example 4. Grammar checking based on detailed language data</b></p>
<p>Recent English module contains only the following example for morphological analysis:</p>
<p><code>([Tt])his {abc} &lt;- option("grammar") and morph({abc}, "Ns") -&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;\1hese {abc}\n\1his, {abc} # Did you mean:</code></p>
<p>There are several things here to limit false alarms. This is an optional rule (see the option("grammar") condition). The morph() function searches unambiguously plural nouns (“Ns”) using Hunspell and language data of Hunspell dictionaries, and the rule checks only lower-case words after "This" or "this", so the likely bad expression “this mice” will be detected, but not in the “Why is this Mice of Men a challenged book?”. Extending the English dictionary of LibreOffice with part-of-speech and morphological data will help to add more sophisticated grammar checking rules, for example with conversion of the huge rule set of <a href="http://www.languagetool.org">LanguageTool development</a>.</p>
<p>Other concept of sentence checking for LibreOffice is to provide optional tools for proofreading, pre-press formatting and desktop publishing. Not so precise grammar checking is one of these tools, eg. the option “capitalization” of the suggested grammar checker of LibreOffice extends the checking of the capitalization for all sentences, not only for the first ones in the paragraphs.</p>
<h2>Feature lists of the recent English module</h2>
<h3>Default checks</h2>
<ul>
<li>Punctuation (unnecessary spaces before punctuation, missing spaces after punctuation, hyphen instead of n-dash, real double quotation marks and multiplication sign)
<li>A/an article (with the described improvements)
<li>Word spacing (not sentence spacing)
<li>Paragraph capitalization (unwitting paragraph breaks)
<li>Simple word duplication (<i>and and</i>, <i>or or</i>, <i>for for</i>, <i>the the</i>)
<li>Longer explanations, using relevant Wikipedia articles (see first screenshot)
</ul>
<p><a href="http://libreoffice.hu/files/2011/12/grammardefault.png" rel="lightbox[4037]" title="Grammar checking in LibreOffice"><img src="http://libreoffice.hu/files/2011/12/grammardefault-300x208.png" alt="" width="300" height="208" class="alignnone size-medium wp-image-4473" /></a></p>
<h3>Optional features</h3>
<ul>
<li>More grammar checks (a few examples using Hunspell morphological analyzer and the English dictionary)</p>
<li>More punctuation checks (n-dash/m-dash, unpaired quotation marks and parentheses, typographical apostrophe and ellipsis)…
<li>Measurement conversion (lb/kg, mph/km/h, °F/°C, ft/yd/in/m/cm/mm, mile/km, gal/pint/l)
<li>Thousand separation (common or ISO)
<li>Sentence capitalization
<li>Other word duplication
<li>Sentence spacing (double spaces)
<li>Formatting with spaces (more than 3 spaces)
<li>Settings (a little hidden yet): in Tools » Extension manager… choose “English spelling etc. dictionaries” extension and click on its Options button.
</ul>
<p><a href="http://libreoffice.hu/files/2011/12/grammarsettings.png" rel="lightbox[4037]" title="Grammar checking in LibreOffice"><img src="http://libreoffice.hu/files/2011/12/grammarsettings-300x151.png" alt="" width="300" height="151" class="alignleft size-medium wp-image-4474" /></a><br />
<a href="http://libreoffice.hu/files/2011/12/grammaroptional.png" rel="lightbox[4037]" title="Grammar checking in LibreOffice"><img src="http://libreoffice.hu/files/2011/12/grammaroptional-300x200.png" alt="" width="300" height="200" class="alignnone size-medium wp-image-4475" /></a></p>
<h2>Features of Lightproof rule editor</h2>
<ul>
<li>LibreOffice extension, <a href="http://extensions.libreoffice.org/extension-center/lightproof-editor">downloading, description</a>
<li>Special grammar checking component + LibreOffice toolbar for rule compiling and debugging
<li>Run-time compilation and update of its grammar checking component
<li>Debugging of user code (rule conditions and Python user functions)
<p><a href="http://libreoffice.hu/files/2011/12/lightproof_editor.png" rel="lightbox[4037]" title="Grammar checking in LibreOffice"><img src="http://libreoffice.hu/files/2011/12/lightproof_editor-300x228.png" alt="" width="300" height="228" class="alignnone size-medium wp-image-4471" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://libreoffice.hu/2011/12/08/grammar-checking-in-libreoffice/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
