Vektorgrafika (SVG) importálása OpenOffice-ba

 ( Csab | 2009. október 19., hétfő - 13:33 )

Sziasztok,

A következőre lenne szükségem: kottákat szeretnék vektorgrafikusan berakni OpenOffice-ba (a PNG / egyéb pixeles formátumok szerintem nem helyénvalók, mert a kotta vektorgrafika, nem pedig fénykép).

Amit csináltam:
- a legújabb lilypond béta képes SVG-be kinyomni a kottát
- ha ezt importálom OpenOffice-ból, akkor egy nagy semmit kapok
- ha importálom KOffice2-ből, akkor a szövegek összezavarodnak, mert a KOffice2 elfuserálja az SVG importot
- ha importálom Inkscapeből (kisebb átalakításokkal, hogy a 0.46-os Inkscape megegye (sed s/currentColor/#000)), onnan meg exportálom ODG-be, akkor a hangjegyek átmennek OpenOffice-ba, de a szöveget (lyrics) elbaltázza az Inkscape.

Valakinek valaha sikerült már OpenOffice-ba SVG-t rakni?

Eléggé elkeserítő, hogy 2009-ben a vektorgrafikához ekkora bűvészkedés kelljen...

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Esetleg tudnál dobni anyagot tesztelni?
egy db SVG-t amit kidob neked a lilypond.

### ()__))____________)~~~ ###
#"Ha én veletek, ki ellenetek?"
#ASUS eee 900 //Puppy 4.3b3

Jelenleg a munkahelyemen vagyok, így nem, de estére felrakom a netre.

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="148.00mm" height="210.00mm" viewBox="0 0 93.5780 132.7795">
<!-- Page: 1/1 -->
<text transform="translate(5.7917, 3.1614)" font-family="Century Schoolbook L,serif" font-size="2.1994" text-anchor="start" fill="currentColor">
<tspan>
</tspan>
</text>
<rect transform="translate(31.4374, 8.1614)" x="0.0000" y="-2.0537" width="0.2039" height="4.1073" ry="0.0000" fill="currentColor"/>
<rect transform="translate(31.9632, 8.1614)" x="0.0000" y="-2.0537" width="0.6438" height="4.1073" ry="0.0000" fill="currentColor"/>
<line transform="translate(5.7917, 10.1614)" stroke-linejoin="round" stroke-linecap="round" stroke-width="0.1073" stroke="currentColor" x1="0.0537" y1="-0.0000" x2="26.7617" y2="-0.0000"/>
<line transform="translate(5.7917, 9.1614)" stroke-linejoin="round" stroke-linecap="round" stroke-width="0.1073" stroke="currentColor" x1="0.0537" y1="-0.0000" x2="26.7617" y2="-0.0000"/>
<line transform="translate(5.7917, 8.1614)" stroke-linejoin="round" stroke-linecap="round" stroke-width="0.1073" stroke="currentColor" x1="0.0537" y1="-0.0000" x2="26.7617" y2="-0.0000"/>
<line transform="translate(5.7917, 7.1614)" stroke-linejoin="round" stroke-linecap="round" stroke-width="0.1073" stroke="currentColor" x1="0.0537" y1="-0.0000" x2="26.7617" y2="-0.0000"/>
<line transform="translate(5.7917, 6.1614)" stroke-linejoin="round" stroke-linecap="round" stroke-width="0.1073" stroke="currentColor" x1="0.0537" y1="-0.0000" x2="26.7617" y2="-0.0000"/>
<path transform="translate(12.1714, 8.1614) scale(0.0040, -0.0040)" d="M358 29c-25 0 -74 19 -74 73c0 38 27 76 71 76c4 0 8 0 11 -1c-27 36 -69 59 -116 59c-106 0 -113 -74 -113 -188c0 -15 1 -31 1 -48s-1 -33 -1 -48c0 -114 7 -188 113 -188c79 0 136 69 155 150c1 7 7 10 13 10c7 0 14 -5 14 -13c0 -19 -48 -175 -182 -175
c-119 0 -250 63 -250 264c0 202 133 264 250 264c118 0 174 -112 174 -165c0 -39 -30 -70 -66 -70z" fill="currentColor"/>
<path transform="translate(10.2214, 8.1614) scale(0.0040, -0.0040)" d="M29 39l-2 -64v-11c0 -22 2 -43 5 -65c44 38 91 80 91 138c0 33 -14 66 -42 66c-31 0 -51 -30 -52 -64zM-16 -139l-12 593c9 5 18 8 28 8s19 -3 28 -8l-7 -343c25 23 58 36 92 36c51 0 87 -49 87 -103c0 -79 -85 -117 -144 -169c-17 -14 -25 -41 -47 -41
c-14 0 -25 13 -25 27z" fill="currentColor"/>
<path transform="translate(6.5917, 9.1614) scale(0.0040, -0.0040)" d="M639 -3c0 -122 -82 -213 -172 -243c1 -19 1 -37 1 -56c0 -40 -2 -80 -5 -120c-11 -123 -90 -234 -206 -234c-115 0 -213 87 -213 200c0 58 53 104 112 104c54 0 95 -48 95 -104c0 -53 -42 -95 -95 -95c-9 0 -18 2 -27 5c29 -40 75 -66 128 -66c94 0 153 94 162 195
c3 39 5 77 5 116c0 14 0 29 -1 44c-24 -5 -48 -7 -73 -7c-194 0 -350 161 -350 356c0 185 125 326 237 471c-44 129 -69 224 -69 367c0 192 134 319 152 319c33 0 167 -208 167 -374c0 -151 -84 -273 -176 -392c24 -73 47 -146 68 -220c159 -2 260 -132 260 -266zM465 -202
c56 22 108 81 108 162c0 88 -64 175 -165 191c21 -86 47 -211 57 -353zM302 -131c-17 0 -140 58 -140 192c0 91 62 181 172 199c-17 61 -36 121 -56 181c-102 -132 -205 -263 -205 -430c0 -128 141 -230 277 -230c24 0 48 1 71 5c-7 126 -31 255 -58 367
c-86 -5 -134 -60 -134 -121c0 -45 28 -93 88 -124c5 -4 7 -10 7 -16c0 -12 -9 -23 -22 -23zM375 1101c-97 -61 -155 -167 -155 -281c0 -59 34 -167 49 -214c79 106 144 217 144 351c0 63 -7 89 -38 144z" fill="currentColor"/>
<path transform="translate(27.5538, 8.1614) scale(0.0040, -0.0040)" d="M-8 375c8 5 17 7 26 7s18 -2 26 -7l-3 -187l104 21h4c10 0 18 -8 18 -18l8 -566c-8 -5 -17 -7 -26 -7s-18 2 -26 7l2 187l-103 -21h-4c-10 0 -18 8 -18 18zM127 -93l3 204l-90 -18l-3 -204z" fill="currentColor"/>
<path transform="translate(15.8633, 10.6614) scale(0.0040, -0.0040)" d="M217 139c67 0 112 -38 112 -94c0 -90 -111 -184 -217 -184c-67 0 -112 38 -112 94c0 90 111 184 217 184z" fill="currentColor"/>
<text transform="translate(15.4210, 13.6626)" font-family="Century Schoolbook L,serif" font-size="2.4686" text-anchor="start" fill="currentColor">
<tspan>
te</tspan>
</text>
<rect transform="translate(17.6980, 13.6626)" x="0.0000" y="-0.5595" width="0.6600" height="0.1395" ry="0.0429" fill="currentColor"/>
<rect transform="translate(17.1092, 8.1614)" x="-0.0697" y="-1.0000" width="0.1395" height="3.3189" ry="0.0444" fill="currentColor"/>
<path transform="translate(18.8770, 10.1614) scale(0.0040, -0.0040)" d="M217 139c67 0 112 -38 112 -94c0 -90 -111 -184 -217 -184c-67 0 -112 38 -112 94c0 90 111 184 217 184z" fill="currentColor"/>
<text transform="translate(18.4347, 13.6626)" font-family="Century Schoolbook L,serif" font-size="2.4686" text-anchor="start" fill="currentColor">
<tspan>
te</tspan>
</text>
<rect transform="translate(20.7117, 13.6626)" x="0.0000" y="-0.5595" width="0.6600" height="0.1395" ry="0.0429" fill="currentColor"/>
<rect transform="translate(20.1229, 8.1614)" x="-0.0697" y="-1.5000" width="0.1395" height="3.3189" ry="0.0444" fill="currentColor"/>
<path transform="translate(21.8907, 9.6614) scale(0.0040, -0.0040)" d="M217 139c67 0 112 -38 112 -94c0 -90 -111 -184 -217 -184c-67 0 -112 38 -112 94c0 90 111 184 217 184z" fill="currentColor"/>
<rect transform="translate(28.6402, 8.1614)" x="-0.0697" y="0.1811" width="0.1395" height="2.8189" ry="0.0444" fill="currentColor"/>
<text transform="translate(26.7624, 13.6626)" font-family="Century Schoolbook L,serif" font-size="2.4686" text-anchor="start" fill="currentColor">
<tspan>
test.</tspan>
</text>
<path transform="translate(28.5705, 8.1614) scale(0.0040, -0.0040)" d="M217 139c67 0 112 -38 112 -94c0 -90 -111 -184 -217 -184c-67 0 -112 38 -112 94c0 90 111 184 217 184z" fill="currentColor"/>
<rect transform="translate(26.1503, 8.1614)" x="-0.0697" y="-2.5000" width="0.1395" height="3.3189" ry="0.0444" fill="currentColor"/>
<text transform="translate(24.4620, 13.6626)" font-family="Century Schoolbook L,serif" font-size="2.4686" text-anchor="start" fill="currentColor">
<tspan>
te</tspan>
</text>
<path transform="translate(24.9044, 9.1614) scale(0.0040, -0.0040)" d="M217 139c67 0 112 -38 112 -94c0 -90 -111 -184 -217 -184c-67 0 -112 38 -112 94c0 90 111 184 217 184z" fill="currentColor"/>
<rect transform="translate(23.1366, 8.1614)" x="-0.0697" y="-2.0000" width="0.1395" height="3.3189" ry="0.0444" fill="currentColor"/>
<rect transform="translate(23.7253, 13.6626)" x="0.0000" y="-0.5595" width="0.6600" height="0.1395" ry="0.0429" fill="currentColor"/>
<text transform="translate(21.4483, 13.6626)" font-family="Century Schoolbook L,serif" font-size="2.4686" text-anchor="start" fill="currentColor">
<tspan>
te</tspan>
</text>
<text transform="translate(46.7890, 128.9858)" font-family="Century Schoolbook L,serif" font-size="2.1994" text-anchor="start" fill="currentColor">
<tspan/>
</text>
</svg>

hát ez elég gány, először is:
s/currentColor/#000000/
így már az oo megjeleníti, és nem fehéren hanem feketén :)
a legnagyobb gond ezután talán a vízszintes vonalak vastagsága..

Köszönöm, kipróbálom.

Egyébként dolgoztam mobil SVG-vel és úgy emlékszem a specifikáció egyértelműen leírta, hogy az alapértelmezett szín fekete.

Inkscape-pel sem megy rendesen a currentColor, de az Inkscape javította a hibát, ezért gondolom azt, hogy a Lilypond kimenete szabványos.

Az SVG egyik problémája az, hogy minden gyártó másképp valósítja meg, félvállról véve a szabványt.

Mindenesetre a web böngészők már helyesen jelenítik meg. Lehet, hogy Inkscape alatt a fontokat görbévé fogom alakítani, úgy beszúrni. Ez a tspan-t is meg fogja oldani.

meg törlendőek a < tspan >, < /tspan >, < tspan/ >
esetleg még a betűtípusra figyelj

Talán az OOoLilypond kiterjesztést próbáld, neked találták ki.

Az OOoLilypond a lilypond-ot PNG-be konvertálja, amikor szükséges, így teszi átméretezhetővé a lilypond kottát.

Lehetséges, hogy működik, de az elvi kifogásaimat a PNG ellen fenntartom.

A legszebb eredeti vektorgrafika lenne, amit kedvemre konvertálhatok Word, KOffice,... között, nem csak egy köztes workaround, ami kizárólag OpenOffice-on, plugin segítségével megy.

Persze lehet, hogy végül ezt fogom használni addig, amíg kijavítják az SVG-t.

Az Inkscape is a következő 0.47 változatában már gond nélkül olvasni fogja a lilypond kimenetét.

rengeteg zenei program van, amik mellesleg tudnak vektorgrafikába exportálni, pl:
http://www.musescore.org/
(kipróbáltam, exportáltam egy kottát svg-be ezzel, dragndroppal openoffice be is olvasta (csak egy betűtípust kell pluszba feltelepíteni)

vagy MusicXML wiki ldalon indulva biztos találsz valamit

ps: azt a generált svg-t az openoffice belenagyítva egy icipicit csúnyán, nem tudom miért, nem raszteresen de egy picit el vannak csúszva az illesztések (de normál méretben jó és vektoros), de a firefox gyönyörűen jeleníti meg, meg pdf-ben is tökéletes akármeddig nagyítva, szóval tényleg az openoffice svg olvasása körül lehet egy kis gond, de talán más formában az openoffice is tudná jól

ok, ezt megnézem, lehet, hogy nálam a font-ok hiányoznak, azért nem megy az SVG.

hehe, még egyszer megnéztem, amit a writerbe egyszerűen dragndroppal beszúrtam svg-fájlt (nagyjából) jól jelenítette meg, de a draw-ban megnyitva egy teljesen szétesett valamit jelenített meg, szóval openoffic-nak tényleg gondjai vannak az svg-vel :(

Sajnos igazán 2001 óta nem sikerült megoldani, 2497, 49991.

OOolilipond: - csak az egyszerű kottákat kezeli a többire elszáll, szóval nem megoldás

A legjobb PNG-be menteni az egészet. Bár valahogy sikerült ODG-be transzformálnom, de a végeredmény alulmúlta a PNG-t. Szóval vektorgrafika normálisan nincs OOO-ban.

a fentebbi kódon ami változtatást írtam úgy nálam már jól megjelnítette,
gáz az ooo vektorgrafikája, de az a kód egyszerűen nem svg, hibás, pl honnan kellene tudnia hogy az utolsó szín a fekete volt..

Igen, a színcsere megoldotta a problémát. Elég szarul jeleníti meg a képernyőn, sok vonal hiányzik, de nyomtatásban szép. Ennyi elég, köszi.