documentation de SVG2zinc

# $Id: doc.txt,v 1.7 2003/09/03 15:59:59 mertz Exp $

limites connues:
- la valeur currentColor (correspondant  la valeur de l'attribut color) n'est pas implment
cf exemple: W3C_1.1_FullTests/svg/painting-fill-02-t.svg
- l'hritage des styles est incorrect, cf exemple l'attribut stroke=yellow qui
n'est pas hrit dans la range du bas de
W3C_1.1_FullTests/svg/painting-fill-04-t.svg

- les items marker ne sont pas implments (est-ce faisable, pas sur!)

- les transformations skewX, skewY et matrix de SVG n'existe pas encore dans Zinc

- les ombres apportes par "filtre > special > ombre porte" sont transformes en bitmap png et ceux-ci ne sont pas exactement bien places dans zinc. Le pb est surement due  ?

- pour les items svg, pattern et marker (nyi), il faudrait grer la proprit overflow pour grer un clipping dans le cas o elle vaut "hidden". Si elle vaut scroll que faire?. Sinon ne rien faire.
- la proprit enable-background n'a d'intrt que pour des filtres SVG 

- pour les items "container" ('svg', 'g', 'defs' 'symbol', 'clipPath', 'mask', 'pattern', 'marker', 'a' and 'switch'.) il faudrait implmenter la proprit enable-background (??? apparemment pour l'utilisation de filtre...)

- les attributs class utilises avec des construction text/css comme ceci:
    <style type="text/css"><![CDATA[
    .Border { fill:none; stroke:blue; stroke-width:1 }
    .Connect { fill:none; stroke:#888888; stroke-width:2 }
    ]]></style>
  ne sont pas (encore?) implments
  

- les items tref, altglyph, glyph, pattern peuvent contenir des xlink:href Ceux-ci ne sont pas traits

An Error occured: unknown attribute "-joinstyle": (data-svg/intuilabeSamples/april03/ok/divers/voiture2.svg)

  
Item Text:
- les items text sont mal traits actuellement. Certaines polices (vectorielles par dfintion) sont rcupres et analyses, voir &createNamedFont et la table de hash %fontsMapping. Mais pour l'instant ceci reste encore un peu exploratoire.
- certains attributs gomtriques ne sont pas lus.
- De plus il existe une limitation entre SVG et Zinc, c'est la possibilit de placer prcisement le texte sur plusieurs lignes tout en traitant le texte comme une seule entit. En SVG cela est possible (et semble utilis pour traiter les espacements non-standard entre caractres sur une mme ligne). En zinc le texte peut-tre multiligne, mais les positions dpendent de la police (et de l'alignement) et ne peuvent pas tre modifies par l'utilisateur.
- la notion de tspan pour du texte qui par ex. change de couleur ne peut pas tre implment (cf remarque prcdente). Donc si un texte SVG possde plusieurs couleurs, plusieurs polices... c'est normalement la dernire qui sera prise en compte. Dans le code gnr on verra plusieurs fois les attributs -color ou -font... 
- si une transformation scale (mais aussi rotation) s'applique au texte ou  un groupe pre (par exemple le groupe 'svg'), le texte N'AURA PAS la bonne taille.
- dans zinc le texte ne s'crit que de gauche  droite, alors que dans SVG toutes les directions sont possibles.
- l'ancrage du texte (option -anchor de zinc) est approximative actuellement; quelles sont les specif de SVG)
- la notion de path appliqu  des textes n'est pas ralisable actuellement en zinc

Item PATH:

- il faudrait tester les commandes Q,q S,s A,a (et aussi c,C) quand la commande est omises en cas de rptition multiple (par exemple 2 beziers successives peuvent se dcrire par C suivi de 6x2 coordonnes). En effet il y avait des bugs peut-tre corrigs (10/11/02)


- item rectangle
Les attributs rx et ry pour des rectangles ne sont pas implments. Cela pourra l'tre quand on aura des path dans les items curve... 
 
- conversions de distances
Sont approximatives et ne tiennent pas compte de la dfintion de l'cran . Mais faut-il vraiment en tenir compte pour du code gnr?!

- les gradients radiaux ne sont pas encore implments

- tag DEFS:
Implment un peu n'importe comment! Dans un DEFS on doit pouvoir dfinir des objets nomms qui seront utiliss ultrieurement via des USE ou par des URI (cas des gradients). Ces objets peuvent aussi tre des objets graphiques, mais ceux-ci ne seront pas visualis dans le DEFS, mais dans le USE.

- tag CLIP: pour l'instant ce tag est ignor. En fait son contenu est trait, mais le tout est mis dans un groupe invisible. Cela fonctionne  peu prs pour l'exemple Fichcrna.svg qui a t fabriqu par l'exportation SVG dans Illustrator d'un fichier .pdf gnr par word!

Comment gnrer des fichiers svg avec Illustrator utilisables?

- il faut illustrator v10
- positionner "image externe" => non, c'est ok inutile grace  un patch de Lemort (svg2zinc v0.4, le 3/9/03)
- attention aux textes. si il y en a peu, il est possible de le vectoriser auparavant
- eviter les css dans les options avances
- attention aux lments illustrator qui ne peuvent pas tre gnrs en SVG et qui se traduisent par des images png
  ex: les filets, les ombres vectorielles (menu ....)

  
Bug limins:

- les couleurs "web" de svg ne sont pas encore toutes traites! voir http://www.w3schools.com/html/html_colornames.asp pour la liste
=> ok grace au Patch de A. Lemort le 20/4/0O3

- traitement des contour multiples. Avec zinc 3.2.6a, la commande contour multiple xor tait assez proche des contours multiples des path de SVG. MAIS AVEC LA NOUVELLE VERSION (> 3.2.6d) la commande xor est supprime et remplac par add ou addhole. Il y aura des diffrences quand le add / addhole concerne des contours non entirement disjoints.... TBC
=> pb rsolu avec Zinc 3.2.6h ako zinc 3.4

- les items radialgradient et lineargradient doivent hriter des stop dfinis dans un autre gradient grce  un lien xlink:href. Ceci doit tre fait (cf example: border-collie.svg et win2.svg
=> implment le 7/5/03 23h!

Item Path:
- la commande A est implmente de manire lgrement errone: voir exemple svg/arc01_174.svg
=> ok le 3/9/03 grace  lemort!




