From 2ef9ac3b4b20ada86397bb50a341495dcc770f97 Mon Sep 17 00:00:00 2001 From: crocsg <34553036+crocsg@users.noreply.github.com> Date: Mon, 3 Dec 2018 16:59:17 +0100 Subject: [PATCH] typo --- .../src/Braille2GcodeEncoder.java | 4 +- .../src/Braille2GcodeEncoder.java.bak | 263 ++++++++++++++++++ .../BrailleLogger/src/BrailleLogger.java | 6 +- .../BrailleLogger/src/BrailleLogger.java.bak | 71 +++++ 4 files changed, 341 insertions(+), 3 deletions(-) create mode 100644 NatBrailleTools/BrailleLogger/src/Braille2GcodeEncoder.java.bak create mode 100644 NatBrailleTools/BrailleLogger/src/BrailleLogger.java.bak diff --git a/NatBrailleTools/BrailleLogger/src/Braille2GcodeEncoder.java b/NatBrailleTools/BrailleLogger/src/Braille2GcodeEncoder.java index 0c47bfb..239d0a0 100644 --- a/NatBrailleTools/BrailleLogger/src/Braille2GcodeEncoder.java +++ b/NatBrailleTools/BrailleLogger/src/Braille2GcodeEncoder.java @@ -70,7 +70,9 @@ public class Braille2GcodeEncoder { this.encoder = encoder; } - + /** + * Start a new page + */ public void startPage () { pagedot = new ArrayList (); diff --git a/NatBrailleTools/BrailleLogger/src/Braille2GcodeEncoder.java.bak b/NatBrailleTools/BrailleLogger/src/Braille2GcodeEncoder.java.bak new file mode 100644 index 0000000..0c47bfb --- /dev/null +++ b/NatBrailleTools/BrailleLogger/src/Braille2GcodeEncoder.java.bak @@ -0,0 +1,263 @@ +import java.awt.Point; +import java.awt.geom.Point2D; +import java.util.ArrayList; + +import javax.swing.JOptionPane; + +/** + * + */ + +/** + * Braille encoder class + * + * @author crocsg + * + */ +public class Braille2GcodeEncoder { + + private GCodeGenerator generator = new GCodeGenerator (); + private int page_num= 0; + private int char_cnt_line = 0; + + private BrailleGcodeEncoding encoder; + + private float position_x; + private float position_y; + + private ArrayList pagedot; + private ArrayList> linedot; + private String bufline = ""; + private String pagegcode = ""; + + private final float Braille_cell_width = 2.3f; + private final float Braille_cell_height = 2.3f; + private final float Braille_cell_padding = 6.1f; + private final float Braille_line_padding = 10f; + private boolean pageAvailable = false; + private boolean newpage=true; + + /** + * @return the pageAvailable + */ + public boolean isPageAvailable() { + return pageAvailable; + } + + + + /** + * @return the pagegcode + */ + public String getPagegcode() { + return pagegcode; + } + + + + /** + * Constructor + */ + private Braille2GcodeEncoder() { + + } + + /** + * Constructor + * @param encoder Braille Encoding + */ + public Braille2GcodeEncoder(BrailleGcodeEncoding encoder) { + this.encoder = encoder; + } + + + public void startPage () + { + pagedot = new ArrayList (); + position_y = 2;//TODO avoid magic + pageAvailable = false; + newpage = false; + pagegcode = ""; + startLine (); + + + } + + /** + * Complete GCode encoding for the current page + */ + public void endPage () + { + if ( ! pagedot.isEmpty()) + { + pagegcode = generator.Header(); + + for (Point2D.Float p: pagedot) + { + pagegcode += generator.moveTo(p.getX(),p.getY()); + pagegcode += generator.printDot(); + } + pagegcode += generator.Footer(); + + + pageAvailable = true; + + int n = JOptionPane.showConfirmDialog( + null, + "Page " + (page_num+1) + " chargez le papier quand l'embosseuse est disponible", + "BrailleRapSP Embosseuse Braille", + JOptionPane.OK_CANCEL_OPTION); + if (n == JOptionPane.CANCEL_OPTION) + { + // cancel print + System.exit(0); + + } + + page_num++; + } + } + + + /** + * Start a new line + */ + public void startLine () + { + linedot = new ArrayList > (); + for (int i =0; i < encoder.getNline(); i++ ) + { + linedot.add(new ArrayList()); + } + + position_x = 0; //TODO avoid magic + bufline = ""; + } + + + /** + * @param p Dot position in Braille character + * @return Absolute position on page + */ + private Point2D.Float getDotAbsolutePosition(Point p) + { + Point2D.Float absolute = new Point2D.Float(); + absolute.x = position_x + (float) p.x * Braille_cell_width; + absolute.y = position_y + (float) p.y * Braille_cell_height; + + return absolute; + } + + /** + * Update fields for next Braille character + */ + private void nextCellPosition () + { + this.position_x += Braille_cell_padding; + } + + + /** + * Update fields for next line of Braille characters + */ + private void nextLinePosition () + { + this.position_y += Braille_line_padding; + } + + + /** + * End Braille characters line + */ + private void endLine () + { + ArrayList dots; + + // compute braille dots on line + for (int i =0; i < bufline.length(); i++) + { + dots = encoder.GetCharacterDots(bufline.charAt(i)); + if (dots != null) + { + for (int d= 0; d < dots.size (); d++) + { + int x = dots.get(d).x; + int y = dots.get(d).y; + + linedot.get(y).add(getDotAbsolutePosition(dots.get(d))); + } + + nextCellPosition (); + } + + } + + // store braille absolute dot on page + for (int l = 0; l < linedot.size(); l++) + { + pagedot.addAll(linedot.get(l)); + } + + nextLinePosition(); + } + + /** + * Add a character in page buffer to encode in Braille + * @param a character to add + */ + private void addCharToBuffer (char a) + { + bufline += a; + } + + /** + * Initialize Braille encoder + */ + public void Open () + { + startPage (); + } + + /* + * Process a character + * @param a character to process + */ + public void processChar (char a) + { + if (a == '\n') + { + endLine (); + startLine (); + } + else if (a == 0x0c) + endPage (); + + else + { + if (newpage) + startPage(); + addCharToBuffer (a); + } + + } + + /** + * CloseBraille encoder + */ + public void Close () + { + endLine (); + endPage (); + } + + + /* + * Request a new page + */ + public void requestNewPage() { + newpage = true; + pageAvailable = false; + startPage (); + } + +} diff --git a/NatBrailleTools/BrailleLogger/src/BrailleLogger.java b/NatBrailleTools/BrailleLogger/src/BrailleLogger.java index a3d6b0f..3dbd1b8 100644 --- a/NatBrailleTools/BrailleLogger/src/BrailleLogger.java +++ b/NatBrailleTools/BrailleLogger/src/BrailleLogger.java @@ -19,7 +19,7 @@ public class BrailleLogger { /** * @param args */ - public static void main(String[] args) { + public static void main(String[] args) { // TODO Auto-generated method stub System.out.println ("; BrailleRapSP GCODE generator"); int arg = 0; @@ -57,7 +57,9 @@ public class BrailleLogger { } catch (FileNotFoundException e) { // TODO Auto-generated catch block - e.printStackTrace(); + System.out.println("File not found:" + args[0]); + System.out.println(e.getMessage()); + //e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block diff --git a/NatBrailleTools/BrailleLogger/src/BrailleLogger.java.bak b/NatBrailleTools/BrailleLogger/src/BrailleLogger.java.bak new file mode 100644 index 0000000..a3d6b0f --- /dev/null +++ b/NatBrailleTools/BrailleLogger/src/BrailleLogger.java.bak @@ -0,0 +1,71 @@ +import java.awt.geom.Point2D; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; + +/** + * Main program + */ + +/** + * @author lenovo + * + */ +public class BrailleLogger { + + + ArrayList braillepoints = new ArrayList (); + /** + * @param args + */ + public static void main(String[] args) { + // TODO Auto-generated method stub + System.out.println ("; BrailleRapSP GCODE generator"); + int arg = 0; + for (String s: args) + { + System.out.println(";" + arg); + System.out.println(";" + s); + } + + if (args.length > 0) + { + FileReader fr; + Braille2GcodeEncoder encoder = new Braille2GcodeEncoder(new Braille6GcodeEncoding()); + try { + fr = new FileReader(args[0]); + + int i; + while ((i=fr.read()) != -1) + { + encoder.processChar((char) i); + if (encoder.isPageAvailable()) + { + System.out.println(encoder.getPagegcode()); + encoder.requestNewPage (); + } + } + + encoder.Close (); + if (encoder.isPageAvailable()) + { + System.out.println(encoder.getPagegcode()); + + } + fr.close(); + + } catch (FileNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + + } + } + +}