Skip to content

Commit faba377

Browse files
arlithblackears
authored andcommitted
Fix system font kerning (#21)
* Changed position variables from ints to floats * Get float values from GlyphMetrics
1 parent d6b6fe9 commit faba377

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

svg-core/src/main/java/com/kitfox/svg/MissingGlyph.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ public class MissingGlyph extends ShapeElement
6060
//We may define a path
6161
private Shape path = null;
6262
//Alternately, we may have child graphical elements
63-
private int horizAdvX = -1; //Inherits font's value if not set
64-
private int vertOriginX = -1; //Inherits font's value if not set
65-
private int vertOriginY = -1; //Inherits font's value if not set
66-
private int vertAdvY = -1; //Inherits font's value if not set
63+
private float horizAdvX = -1; //Inherits font's value if not set
64+
private float vertOriginX = -1; //Inherits font's value if not set
65+
private float vertOriginY = -1; //Inherits font's value if not set
66+
private float vertAdvY = -1; //Inherits font's value if not set
6767

6868
/**
6969
* Creates a new instance of Font
@@ -131,22 +131,22 @@ protected void build() throws SVGException
131131
//Read glyph spacing info
132132
if (getPres(sty.setName("horiz-adv-x")))
133133
{
134-
horizAdvX = sty.getIntValue();
134+
horizAdvX = sty.getFloatValue();
135135
}
136136

137137
if (getPres(sty.setName("vert-origin-x")))
138138
{
139-
vertOriginX = sty.getIntValue();
139+
vertOriginX = sty.getFloatValue();
140140
}
141141

142142
if (getPres(sty.setName("vert-origin-y")))
143143
{
144-
vertOriginY = sty.getIntValue();
144+
vertOriginY = sty.getFloatValue();
145145
}
146146

147147
if (getPres(sty.setName("vert-adv-y")))
148148
{
149-
vertAdvY = sty.getIntValue();
149+
vertAdvY = sty.getFloatValue();
150150
}
151151
}
152152

@@ -178,7 +178,7 @@ public void render(Graphics2D g) throws SVGException
178178
//Do not push or pop stack
179179
}
180180

181-
public int getHorizAdvX()
181+
public float getHorizAdvX()
182182
{
183183
if (horizAdvX == -1)
184184
{
@@ -187,7 +187,7 @@ public int getHorizAdvX()
187187
return horizAdvX;
188188
}
189189

190-
public int getVertOriginX()
190+
public float getVertOriginX()
191191
{
192192
if (vertOriginX == -1)
193193
{
@@ -196,7 +196,7 @@ public int getVertOriginX()
196196
return vertOriginX;
197197
}
198198

199-
public int getVertOriginY()
199+
public float getVertOriginY()
200200
{
201201
if (vertOriginY == -1)
202202
{
@@ -205,7 +205,7 @@ public int getVertOriginY()
205205
return vertOriginY;
206206
}
207207

208-
public int getVertAdvY()
208+
public float getVertAdvY()
209209
{
210210
if (vertAdvY == -1)
211211
{
@@ -260,31 +260,31 @@ public void setPath(Shape path)
260260
/**
261261
* @param horizAdvX the horizAdvX to set
262262
*/
263-
public void setHorizAdvX(int horizAdvX)
263+
public void setHorizAdvX(float horizAdvX)
264264
{
265265
this.horizAdvX = horizAdvX;
266266
}
267267

268268
/**
269269
* @param vertOriginX the vertOriginX to set
270270
*/
271-
public void setVertOriginX(int vertOriginX)
271+
public void setVertOriginX(float vertOriginX)
272272
{
273273
this.vertOriginX = vertOriginX;
274274
}
275275

276276
/**
277277
* @param vertOriginY the vertOriginY to set
278278
*/
279-
public void setVertOriginY(int vertOriginY)
279+
public void setVertOriginY(float vertOriginY)
280280
{
281281
this.vertOriginY = vertOriginY;
282282
}
283283

284284
/**
285285
* @param vertAdvY the vertAdvY to set
286286
*/
287-
public void setVertAdvY(int vertAdvY)
287+
public void setVertAdvY(float vertAdvY)
288288
{
289289
this.vertAdvY = vertAdvY;
290290
}

svg-core/src/main/java/com/kitfox/svg/util/FontSystem.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,8 @@ public MissingGlyph getGlyph(String unicode)
140140
glyph.setPath(vec.getGlyphOutline(0));
141141

142142
GlyphMetrics gm = vec.getGlyphMetrics(0);
143-
glyph.setHorizAdvX((int)gm.getAdvanceX());
144-
glyph.setVertAdvY((int)gm.getAdvanceY());
143+
glyph.setHorizAdvX(gm.getAdvanceX());
144+
glyph.setVertAdvY(gm.getAdvanceY());
145145
glyph.setVertOriginX(0);
146146
glyph.setVertOriginY(0);
147147

0 commit comments

Comments
 (0)