From e5e17df532ca92807af47dfdeb73e606a7051a08 Mon Sep 17 00:00:00 2001 From: Andrey Ruzhanskiy <andrey.ruzhanskiy@tu-dresden.de> Date: Tue, 3 Sep 2019 14:08:39 +0200 Subject: [PATCH] Added new method for length of braille --- .../LiblouisBrailleTextRasterizer.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/tudresden/inf/mci/brailleplot/rendering/LiblouisBrailleTextRasterizer.java b/src/main/java/de/tudresden/inf/mci/brailleplot/rendering/LiblouisBrailleTextRasterizer.java index 03b463d3..3bd38480 100644 --- a/src/main/java/de/tudresden/inf/mci/brailleplot/rendering/LiblouisBrailleTextRasterizer.java +++ b/src/main/java/de/tudresden/inf/mci/brailleplot/rendering/LiblouisBrailleTextRasterizer.java @@ -45,7 +45,7 @@ public class LiblouisBrailleTextRasterizer implements Rasterizer<BrailleText> { throw new RuntimeException(e); } try { - mTranslator = new Translator("src\\main\\resources\\mapping\\liblouis\\de-g0.utb"); + mTranslator = new Translator("src\\main\\resources\\mapping\\liblouis\\de-g1.ctb"); } catch (Exception e) { throw new RuntimeException(e.getCause()); } @@ -56,6 +56,9 @@ public class LiblouisBrailleTextRasterizer implements Rasterizer<BrailleText> { public void rasterize(final BrailleText data, final RasterCanvas canvas) throws InsufficientRenderingAreaException { Objects.requireNonNull(data, "The data given to the brailletextrasterizer was null!"); Objects.requireNonNull(canvas, "The canvas given to the brailletextrasterizer was null!"); + if (data.getText() == "") { + throw new RuntimeException("The string in the Brailletext must not be empty!"); + } Rectangle rect = data.getArea().intersectedWith(canvas.getDotRectangle()); mCanvas = canvas; TranslationResult result = null; @@ -149,4 +152,18 @@ public class LiblouisBrailleTextRasterizer implements Rasterizer<BrailleText> { } return (int) ceil((double) widthOfText / (double) tempMaxWidth); } + + public int getBrailleStringLength(String text) { + Objects.requireNonNull(text, "The given string for getBrailleStringLength was null!"); + if (text == "") return 0; + TranslationResult result = null; + try { + result = mTranslator.translate(text, null, null, null, DisplayTable.StandardDisplayTables.DEFAULT); + } catch (TranslationException e) { + e.printStackTrace(); + } catch (DisplayException e) { + e.printStackTrace(); + } + return result.getBraille().length(); + } } -- GitLab