diff --git a/lib/jsyntaxpane-0.9.5.jar b/lib/jsyntaxpane-0.9.5.jar index 567e90d4d..a1c100c87 100644 Binary files a/lib/jsyntaxpane-0.9.5.jar and b/lib/jsyntaxpane-0.9.5.jar differ diff --git a/libsrc/jsyntaxpane/jsyntaxpane/src/main/java/jsyntaxpane/SyntaxView.java b/libsrc/jsyntaxpane/jsyntaxpane/src/main/java/jsyntaxpane/SyntaxView.java index fcebf67b3..c885237d9 100644 --- a/libsrc/jsyntaxpane/jsyntaxpane/src/main/java/jsyntaxpane/SyntaxView.java +++ b/libsrc/jsyntaxpane/jsyntaxpane/src/main/java/jsyntaxpane/SyntaxView.java @@ -134,7 +134,7 @@ public class SyntaxView extends PlainView { graphics.setColor(rightMarginColor); graphics.drawLine(m_x, y, m_x, y - h); } - return super.drawUnselectedText(graphics, x, y, p0, p1); + return drawUnselectedText(graphics, x, y, p0, p1); } else { return drawUnselectedText(graphics, x, y, p0, p1); } diff --git a/libsrc/jsyntaxpane/jsyntaxpane/src/main/java/jsyntaxpane/UniTools.java b/libsrc/jsyntaxpane/jsyntaxpane/src/main/java/jsyntaxpane/UniTools.java index 3bfb0821f..16048ecfa 100644 --- a/libsrc/jsyntaxpane/jsyntaxpane/src/main/java/jsyntaxpane/UniTools.java +++ b/libsrc/jsyntaxpane/jsyntaxpane/src/main/java/jsyntaxpane/UniTools.java @@ -1,154 +1,159 @@ -package jsyntaxpane; - -import java.awt.Font; -import java.awt.FontMetrics; -import java.awt.Graphics; -import java.awt.GraphicsEnvironment; -import java.awt.image.BufferedImage; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import javax.swing.JLabel; -import javax.swing.text.Segment; -import javax.swing.text.TabExpander; -import javax.swing.text.Utilities; -import javax.swing.text.View; - -/** - * - * @author JPEXS - */ -public class UniTools { - - private static List backupFonts =new ArrayList(); - - private static boolean fontExists(String name){ - GraphicsEnvironment g=GraphicsEnvironment.getLocalGraphicsEnvironment(); - List availFonts=Arrays.asList(g.getAvailableFontFamilyNames()); - for(int i=0;i segments=new ArrayList(); - List unis=new ArrayList(); - - Font origFont=metrics.getFont(); - getSegments(origFont, segment, segments, unis); - Graphics g=new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB).getGraphics(); - Font uniFont = defaultUniFont.deriveFont(origFont.getStyle(),origFont.getSize2D()); - int ret=0; - int pos=0; - for(int i=0;i segments,List unis){ - - int start=0; - int len=0; - boolean uni=false; - for(int i=0;i0 && uni!=newuni){ - Segment s =new Segment(segment.array, segment.offset+start, len); - segments.add(s); - unis.add(uni); - start = i; - len=0; - } - uni=newuni; - len++; - } - if(len>0){ - Segment s =new Segment(segment.array, segment.offset+start, len); - segments.add(s); - unis.add(uni); - } - } - - public static int getTabbedTextWidth(Segment segment,FontMetrics f,int x,TabExpander e, int startOffset){ - Graphics g=new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB).getGraphics(); - g.setFont(f.getFont()); - return getTabbedTextWidth(g,segment,x,e,startOffset); - } - - public static int getTabbedTextWidth(Graphics g,Segment segment,int x,TabExpander e, int startOffset){ - List segments=new ArrayList(); - List unis=new ArrayList(); - getSegments(g.getFont(), segment, segments, unis); - Font origFont=g.getFont(); - Font uniFont = defaultUniFont.deriveFont(origFont.getStyle(),origFont.getSize2D()); - int ret=0; - int pos=0; - for(int i=0;i segments=new ArrayList(); - List unis=new ArrayList(); - getSegments(g.getFont(), segment, segments, unis); - Font origFont=g.getFont(); - Font uniFont = defaultUniFont.deriveFont(origFont.getStyle(),origFont.getSize2D()); - int ret=x; - int pos=0; - for(int i=0;i segments=new ArrayList(); - List unis=new ArrayList(); - Segment segment=new Segment(string.toCharArray(), 0, string.length()); - getSegments(g.getFont(), segment, segments, unis); - Font origFont=g.getFont(); - Font uniFont = defaultUniFont.deriveFont(origFont.getStyle(),origFont.getSize2D()); - int ret=0; - for(int i=0;i backupFonts =new ArrayList(); + + private static boolean fontExists(String name){ + GraphicsEnvironment g=GraphicsEnvironment.getLocalGraphicsEnvironment(); + List availFonts=Arrays.asList(g.getAvailableFontFamilyNames()); + for(int i=0;i segments=new ArrayList(); + List unis=new ArrayList(); + + Font origFont=metrics.getFont(); + getSegments(origFont, segment, segments, unis); + Graphics g=new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB).getGraphics(); + Font uniFont = defaultUniFont.deriveFont(origFont.getStyle(),origFont.getSize2D()); + int ofs=0; + int totalto = 0; + for(int i=0;i segments,List unis){ + + int start=0; + int len=0; + boolean uni=false; + for(int i=0;i0 && uni!=newuni){ + Segment s =new Segment(segment.array, segment.offset+start, len); + segments.add(s); + unis.add(uni); + start = i; + len=0; + } + uni=newuni; + len++; + } + if(len>0){ + Segment s =new Segment(segment.array, segment.offset+start, len); + segments.add(s); + unis.add(uni); + } + } + + public static int getTabbedTextWidth(Segment segment,FontMetrics f,int x,TabExpander e, int startOffset){ + Graphics g=new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB).getGraphics(); + g.setFont(f.getFont()); + return getTabbedTextWidth(g,segment,x,e,startOffset); + } + + public static int getTabbedTextWidth(Graphics g,Segment segment,int x,TabExpander e, int startOffset){ + List segments=new ArrayList(); + List unis=new ArrayList(); + getSegments(g.getFont(), segment, segments, unis); + Font origFont=g.getFont(); + Font uniFont = defaultUniFont.deriveFont(origFont.getStyle(),origFont.getSize2D()); + int ret=0; + int pos=0; + for(int i=0;i segments=new ArrayList(); + List unis=new ArrayList(); + getSegments(g.getFont(), segment, segments, unis); + Font origFont=g.getFont(); + Font uniFont = defaultUniFont.deriveFont(origFont.getStyle(),origFont.getSize2D()); + int ret=x; + int pos=0; + for(int i=0;i segments=new ArrayList(); + List unis=new ArrayList(); + Segment segment=new Segment(string.toCharArray(), 0, string.length()); + getSegments(g.getFont(), segment, segments, unis); + Font origFont=g.getFont(); + Font uniFont = defaultUniFont.deriveFont(origFont.getStyle(),origFont.getSize2D()); + int ret=0; + for(int i=0;i