User Tools

Site Tools


doc:fr:appendicec

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
doc:fr:appendicec [2022/01/12 15:14]
dmorandi
doc:fr:appendicec [2022/01/24 10:33] (current)
dmorandi contrôle
Line 1: Line 1:
-(12/01/2022 traduction en cours - NE PAS UTILISER ! le code JAVA n'a pas encore été contrôlé caractère par caractère) 
- 
 ====== Guide du développeur ====== ====== Guide du développeur ======
  
 Si vous savez programmer en Java, vous pouvez utiliser JSesh comme bibliothèque pour vos propres programmes. Si vous savez programmer en Java, vous pouvez utiliser JSesh comme bibliothèque pour vos propres programmes.
 +
 ===== Obtenir le code ===== ===== Obtenir le code =====
  
Line 12: Line 11:
  
 Normalement,​ la branche **master** contient du code à jour et compilable. C'est le seul que je suggère de cloner. D'​autres branches sont Normalement,​ la branche **master** contient du code à jour et compilable. C'est le seul que je suggère de cloner. D'​autres branches sont
-  * production : corrections en cours et petits changements,​ qui seront appliqués à la branche master. C'est un travail en cours, alors ne vous attendez pas à ce qu'​il ​compile ​tout le temps.+  * production : corrections en cours et petits changements,​ qui seront appliqués à la branche master. C'est un travail en cours, alors ne vous attendez pas à ce qu'​il ​se laisse compiler ​tout le temps.
   * développement : travail en cours pour la prochaine version de JSesh   * développement : travail en cours pour la prochaine version de JSesh
   * jfx-test : quelques travaux pour voir comment adapter JSesh à Java FX.   * jfx-test : quelques travaux pour voir comment adapter JSesh à Java FX.
 +
 ===== Compilation du code ===== ===== Compilation du code =====
-c'est +C'est 
-    mvn installer +    mvn install 
-Avant cela, vous pouvez choisir la version de JSesh que vous souhaitez compiler. Diverses versions sont étiquetées. Alors, vous pourriez +Avant cela, vous pouvez choisir la version de JSesh que vous souhaitez compiler. Diverses versions sont étiquetées. Alors, vous pourriez faire quelque chose comme
-faire quelque chose comme+
     git checkout version-5.3     git checkout version-5.3
-    mvn propre installer +    mvn clean install 
-pour compiler JSesh version 5.3. toutes ​les balises ​peuvent être répertoriées ​en tapant +Pour compiler JSesh version 5.3. tous les tags peuvent être répertoriés ​en tapant 
-    ​balise ​git+    git tag
  
-Ensuite, vous pouvez utiliser les bibliothèques JSesh dans votre programme en les référençant dans votre pom.xml. +Ensuite, vous pouvez utiliser les bibliothèques JSesh dans votre programme en les référençant dans votre fichier ​pom.xml. Par exemple:
-Par exemple:+
 <​code>​ <​code>​
  
-<dépendance>+<dependency>
   <​groupId>​org.qenherkhopeshef</​groupId>​   <​groupId>​org.qenherkhopeshef</​groupId>​
     <​artifactId>​jseshGlyphs</​artifactId>​     <​artifactId>​jseshGlyphs</​artifactId>​
     <​version>​5.3</​version>​     <​version>​5.3</​version>​
-  </dépendance+  </dependency
-  <dépendance>+  <dependency>
     <​groupId>​org.qenherkhopeshef</​groupId>​     <​groupId>​org.qenherkhopeshef</​groupId>​
     <​artifactId>​jsesh</​artifactId>​     <​artifactId>​jsesh</​artifactId>​
     <​version>​5.3</​version>​     <​version>​5.3</​version>​
-  </dépendance+  </dependency
-  <dépendance>+  <dependency>
   <​groupId>​org.qenherkhopeshef</​groupId>​   <​groupId>​org.qenherkhopeshef</​groupId>​
     <​artifactId>​qenherkhopeshefUtils</​artifactId>​     <​artifactId>​qenherkhopeshefUtils</​artifactId>​
     <​version>​5.3</​version>​     <​version>​5.3</​version>​
-  </dépendance>+  </dependency>
 </​code>​ </​code>​
  
Line 55: Line 53:
 ===== Comment faire ===== ===== Comment faire =====
  
-==== Ajouter ​un champ d'​édition hiéroglyphique dans une interface SWING ====+==== Pour ajouter ​un champ d'​édition hiéroglyphique dans une interface SWING ====
  
-En fait, c'est assez facile à faire. Vous devez avoir jsesh.jar dans votre chemin de classe, et probablement aussi jseshGlyphs.jar si vous voulez les polices complètes. Ensuite, avoir un champ hiéroglyphique dans votre application est aussi simple que :+En fait, c'est assez facile à faire. Vous devez avoir jsesh.jar dans votre chemin de classe, et probablement aussi jseshGlyphs.jar si vous voulez les polices complètes. Ensuite, avoir un champ hiéroglyphique dans votre application est aussi simple que ça :
 <code java> <code java>
-// Le package peut changer un jour dans un (loin) avenir. +// Le package peut changer un jour dans un (lointain) avenir. 
-importer le package jsesh.mdcDisplayer.swing.editor.* ;​ +import ​package jsesh.mdcDisplayer.swing.editor.*;​ 
-publique MaClasse ​.... {+public MyClass ​.... {
    void buildInterface() {    void buildInterface() {
-           // ​Un gros éditeurmieux placé dans un JScrollPane +           // ​A large editorbetter placed in a JScrollPane 
-           Editeur ​JMDCEditor= new JMDCEditor();​ +           ​JMDCEditor ​editor= new JMDCEditor();​ 
-           // ​Un éditeur de type TextField+           // ​TextField-like editor
            ​JMDCField mdcField= new JMDCField();​            ​JMDCField mdcField= new JMDCField();​
     }     }
Line 71: Line 69:
 </​code>​ </​code>​
  
-Maintenant, vous pouvez manipuler le texte directement via la classe HieroglyphicTextModel,​ qui représente le texte sous forme de liste d'​objets,​ ou, si vous n'avez besoin que de fonctionnalités simples, utilisez les méthodes ''​setMDCText(String mdc)''​ et getMDCText() pour définir et récupérer le contenu du champ en tant que "​Manuel de codage"​.+Maintenant, vous pouvez manipuler le texte directement via la classe HieroglyphicTextModel,​ qui représente le texte sous forme de liste d'​objets,​ ou, si vous n'avez besoin que de fonctionnalités simples, utilisez les méthodes ''​setMDCText(String mdc)''​ et getMDCText() pour définir et récupérer le contenu du champ selon le "​Manuel de codage"​.
  
 Vous pouvez interdire l'​édition du texte avec "''​setEditable(false)''"​ Vous pouvez interdire l'​édition du texte avec "''​setEditable(false)''"​
Line 77: Line 75:
 Une chose qui manque actuellement dans les bibliothèques (mais qui devrait être corrigée bientôt) est un moyen de diriger facilement les informations de la palette vers divers widgets JSesh (cela peut être fait avec la structure globale, mais ce n'est pas automatique du tout). Une chose qui manque actuellement dans les bibliothèques (mais qui devrait être corrigée bientôt) est un moyen de diriger facilement les informations de la palette vers divers widgets JSesh (cela peut être fait avec la structure globale, mais ce n'est pas automatique du tout).
  
-==== Produire ​une image bitmap à partir d'un texte MDC ====+==== Pour produire ​une image bitmap à partir d'un texte MDC ====
  
 Il existe un certain nombre de raisons pour lesquelles vous pouvez souhaiter produire une image à partir d'un texte MDC. Par exemple, vous pouvez utiliser JSesh comme bibliothèque dans une application Web. Il existe un certain nombre de raisons pour lesquelles vous pouvez souhaiter produire une image à partir d'un texte MDC. Par exemple, vous pouvez utiliser JSesh comme bibliothèque dans une application Web.
  
-Bien sûr, vous devez avoir à la fois jsesh.jar et jseshGlyphs.jar dans votre chemin de classe. Actuellement (JSesh 2.13.7), vous avez également besoin de jvectClipboard-1.0.jar,​ mais c'est une dépendance que je supprimerai dans peu de temps. Vous aurez besoin de jvectClipboard-1.0.jar si vous souhaitez produire du SVG, WMF ou similaire. Ensuite, le code Java suivant fera l'​affaire :+Bien sûr, vous devez avoir à la fois jsesh.jar et jseshGlyphs.jar dans votre chemin de classe. Actuellement (JSesh 2.13.7), vous avez également besoin de jvectClipboard-1.0.jar,​ mais c'est une dépendance que je supprimerai dans peu de temps. Vous aurez besoin de jvectClipboard-1.0.jar si vous souhaitez produire du SVG, WMF ou similaire. Ensuite, le code Java suivant fera l'​affaire ​((contrairement aux Datari républicaines : [[https://​www.youtube.com/​watch?​v=Wp872x3_vc0]] (Note du traducteur).)) ​:
 <code java> <code java>
-    public static BufferedImage buildImage (String mdcText) ​lève MDCSyntaxError { +    public static BufferedImage buildImage(String mdcText) ​throws ​MDCSyntaxError { 
-            // Créer le système de dessin +            // Create the drawing system                
-            ​Dessin ​MDCDrawingFacade = new MDCDrawingFacade();​ +            MDCDrawingFacade ​drawing ​= new MDCDrawingFacade();​ 
-           // ​Créer l'​image +           // ​Create the picture ​ 
-           Résultat ​BufferedImage = drawing.createImage(mdcText);​ +           ​BufferedImage ​result ​= drawing.createImage(mdcText);​ 
-           résultat de retour+           return result
 } }
 </​code>​ </​code>​
Line 95: Line 93:
 En option, il est possible de personnaliser le rendu. Voici un exemple complet prêt à l'​emploi :​ En option, il est possible de personnaliser le rendu. Voici un exemple complet prêt à l'​emploi :​
 <code java> <code java>
- /** +/** 
- ​* ​Comment utiliser ​JSesh pour créer des bitmaps ​en Java. + ​* ​How to use JSesh to create ​bitmaps ​in Java. 
- ​* ​compiler ​: javac -cp .:/​FOLDER_CONTAINING/​jsesh.jar TestJSeshBitmap.java + ​* ​compile: javac -cp .:/​FOLDER_CONTAINING/​jsesh.jar TestJSeshBitmap.java 
- ​* ​exécuter : java -cp .:/​FOLDER_CONTAINING/​jsesh.jar TestJSeshBitmap + ​* ​run: java -cp .:/​FOLDER_CONTAINING/​jsesh.jar TestJSeshBitmap 
- * + *  
- * jseshGlyphs.jar ​et jvectClipboard-1.0.jar ​doivent se trouver dans le même dossier que jsesh.jar. + * jseshGlyphs.jar ​and jvectClipboard-1.0.jar ​should be in the same folder as jsesh.jar. 
- * (normalementil n'est pas nécessaire de les ajouter explicitement au chemin de classecar jsesh.jar ​contient les + * (normallythere is no need to add them explicitely to the class path as jsesh.jar ​contains the necessary ​ 
- ​* ​informations dans son manifeste.+ ​* ​information in its manifest.
  */  */
- +  
-importer ​javax.imageio.ImageOI +import  ​javax.imageio.ImageIO
-importer ​java.io.*;​ +import ​java.io.*;​ 
-importer ​java.awt.image.* ; +import ​java.awt.image.* ; 
-importer ​jsesh.mdcDisplayer.preferences.*;​ +import ​jsesh.mdcDisplayer.preferences.*;​ 
-importer ​jsesh.mdcDisplayer.draw.*;​ +import ​jsesh.mdcDisplayer.draw.*;​ 
-importer ​jsesh.mdc.*;​ +import ​jsesh.mdc.*;​ 
- +  
-Test de classe publique ​+public class Test { 
-    public static BufferedImage buildImage (String mdcText) ​lève MDCSyntaxError { +    public static BufferedImage buildImage(String mdcText) ​throws ​MDCSyntaxError { 
-        // Créer le système de dessin +        // Create the drawing system                
-        ​Dessin ​MDCDrawingFacade = new MDCDrawingFacade();​ +        MDCDrawingFacade ​drawing ​= new MDCDrawingFacade();​ 
-        // Changer l'​échelleen choisissant la hauteur du cadrat ​en pixels. +        // Change the scalechoosing the cadrat ​height in pixels. 
-        ​dessin.setCadratHeight(60);​ +        ​drawing.setCadratHeight(60);​ 
-        // Changer un certain nombre de paramètres+        // Change a number of parameters ​
         DrawingSpecification drawingSpecifications = new DrawingSpecificationsImplementation();​         DrawingSpecification drawingSpecifications = new DrawingSpecificationsImplementation();​
         PageLayout pageLayout= new PageLayout();​         PageLayout pageLayout= new PageLayout();​
-        pageLayout.setLeftMargin(5) ;​ +        pageLayout.setLeftMargin(5);​ 
-        pageLayout.setTopMargin(5) ;​ +        pageLayout.setTopMargin(5);​ 
-        ​dessinSpécifications.setPageLayout(pageLayout);​+        ​drawingSpecifications.setPageLayout(pageLayout);​
         drawing.setDrawingSpecifications(drawingSpecifications);​         drawing.setDrawingSpecifications(drawingSpecifications);​
-        // Créer l'​image +        // Create the picture ​ 
-       Résultat ​BufferedImage = drawing.createImage(mdcText);​ +       ​BufferedImage ​result ​= drawing.createImage(mdcText);​ 
-       renvoyer le résultat ;+       return result;
     }     }
- +  
-public static void main(String args[]) ​lève MDCSyntaxError,​ IOException { +public static void main(String args[]) ​throws ​MDCSyntaxError,​ IOException { 
-              // Créer l'​image+              // Create the picture
               BufferedImage img= buildImage("​i-w-r:​a-C1-m-p*t:​pt"​);​               BufferedImage img= buildImage("​i-w-r:​a-C1-m-p*t:​pt"​);​
-              ​Fichier ​f = nouveau Fichier("​example.png"​);​ +              ​File f = new File("​example.png"​);​ 
-              // enregistrez-le en png (mieux que jpeg dans ce cas)+              // save it in png (better than jpeg in this case)
               ImageIO.write(img,​ "​png",​ f);               ImageIO.write(img,​ "​png",​ f);
   }   }
Line 140: Line 138:
 </​code>​ </​code>​
 La taille des signes est contrôlée à l'aide de '​drawing.setCadratHeight();'​. La taille des signes est contrôlée à l'aide de '​drawing.setCadratHeight();'​.
-(note à moi-même :​ il devrait être plus facile de changer la taille de tout en utilisant ​la spécification de dessin !!!)+(note à moi-même :​ il devrait être plus facile de changer la taille de tout en utilisant ​drawingSpecification !)
doc/fr/appendicec.1641996861.txt.gz · Last modified: 2022/01/12 15:14 by dmorandi