# HG changeset patch # User raimund renkert # Date 1311170793 -7200 # Node ID 0dc34dcdaedcc850f82b82b7ac23dd2eb06da18e # Parent 17b4aaa159ecda5164d9eb4e1be26059c6dce410 Lookup symbol font in fontset. diff -r 17b4aaa159ec -r 0dc34dcdaedc ChangeLog --- a/ChangeLog Wed Jul 20 16:02:57 2011 +0200 +++ b/ChangeLog Wed Jul 20 16:06:33 2011 +0200 @@ -1,3 +1,9 @@ +2011-07-20 Raimund Renkert + + * src/java/de/intevation/mxd/writer/SymbolWriter.java: + Lookup symbol font in fontset and print out a warning if the font is + missing. + 2011-07-20 Raimund Renkert * src/java/de/intevation/mxd/writer/MarkerStyleWriter.java: diff -r 17b4aaa159ec -r 0dc34dcdaedc src/java/de/intevation/mxd/writer/SymbolWriter.java --- a/src/java/de/intevation/mxd/writer/SymbolWriter.java Wed Jul 20 16:02:57 2011 +0200 +++ b/src/java/de/intevation/mxd/writer/SymbolWriter.java Wed Jul 20 16:06:33 2011 +0200 @@ -11,6 +11,8 @@ import edu.umn.gis.mapscript.symbolSetObj; import edu.umn.gis.mapscript.lineObj; import edu.umn.gis.mapscript.pointObj; +import edu.umn.gis.mapscript.fontSetObj; +import edu.umn.gis.mapscript.hashTableObj; import edu.umn.gis.mapscript.MS_SYMBOL_TYPE; import java.io.File; @@ -154,6 +156,17 @@ String font = symbolElement.getAttribute("font"); //Remove all blank character to match the mapserver fonts.txt. font = font.replaceAll(" ", ""); + fontSetObj fso = this.map.getFontset(); + hashTableObj fonts = fso.getFonts(); + String mapFont = fonts.get(font,""); + if (mapFont == null || mapFont.equals("")) { + logger.warn( + "Could not find font " + font + " in font set. " + + "Setting FreeSans as symbol font." + + "Please add " + font + " to fonts.txt and replace the alias " + + "in symbol \"" + symbolElement.getAttribute("name") + "\"."); + font = "FreeSans"; + } symbol.setName(symbolElement.getAttribute("name")); symbol.setFont(font); symbol.setType(MS_SYMBOL_TYPE.MS_SYMBOL_TRUETYPE.swigValue());