Mercurial > mxd2map
comparison src/java/de/intevation/mxd/writer/SymbolWriter.java @ 192:0dc34dcdaedc
Lookup symbol font in fontset.
author | raimund renkert <raimund.renkert@intevation.de> |
---|---|
date | Wed, 20 Jul 2011 16:06:33 +0200 |
parents | c79c3c6fc99a |
children | df4e0946ef02 |
comparison
equal
deleted
inserted
replaced
191:17b4aaa159ec | 192:0dc34dcdaedc |
---|---|
9 import edu.umn.gis.mapscript.styleObj; | 9 import edu.umn.gis.mapscript.styleObj; |
10 import edu.umn.gis.mapscript.symbolObj; | 10 import edu.umn.gis.mapscript.symbolObj; |
11 import edu.umn.gis.mapscript.symbolSetObj; | 11 import edu.umn.gis.mapscript.symbolSetObj; |
12 import edu.umn.gis.mapscript.lineObj; | 12 import edu.umn.gis.mapscript.lineObj; |
13 import edu.umn.gis.mapscript.pointObj; | 13 import edu.umn.gis.mapscript.pointObj; |
14 import edu.umn.gis.mapscript.fontSetObj; | |
15 import edu.umn.gis.mapscript.hashTableObj; | |
14 import edu.umn.gis.mapscript.MS_SYMBOL_TYPE; | 16 import edu.umn.gis.mapscript.MS_SYMBOL_TYPE; |
15 | 17 |
16 import java.io.File; | 18 import java.io.File; |
17 | 19 |
18 /** | 20 /** |
152 private void writeCharacter(symbolObj symbol, Element symbolElement) { | 154 private void writeCharacter(symbolObj symbol, Element symbolElement) { |
153 logger.debug("writeCharacter(symbolObj, Element)"); | 155 logger.debug("writeCharacter(symbolObj, Element)"); |
154 String font = symbolElement.getAttribute("font"); | 156 String font = symbolElement.getAttribute("font"); |
155 //Remove all blank character to match the mapserver fonts.txt. | 157 //Remove all blank character to match the mapserver fonts.txt. |
156 font = font.replaceAll(" ", ""); | 158 font = font.replaceAll(" ", ""); |
159 fontSetObj fso = this.map.getFontset(); | |
160 hashTableObj fonts = fso.getFonts(); | |
161 String mapFont = fonts.get(font,""); | |
162 if (mapFont == null || mapFont.equals("")) { | |
163 logger.warn( | |
164 "Could not find font " + font + " in font set. " + | |
165 "Setting FreeSans as symbol font." + | |
166 "Please add " + font + " to fonts.txt and replace the alias " + | |
167 "in symbol \"" + symbolElement.getAttribute("name") + "\"."); | |
168 font = "FreeSans"; | |
169 } | |
157 symbol.setName(symbolElement.getAttribute("name")); | 170 symbol.setName(symbolElement.getAttribute("name")); |
158 symbol.setFont(font); | 171 symbol.setFont(font); |
159 symbol.setType(MS_SYMBOL_TYPE.MS_SYMBOL_TRUETYPE.swigValue()); | 172 symbol.setType(MS_SYMBOL_TYPE.MS_SYMBOL_TRUETYPE.swigValue()); |
160 symbol.setAntialias(1); | 173 symbol.setAntialias(1); |
161 symbol.setCharacter("&#" + symbolElement.getAttribute("char") + ";"); | 174 symbol.setCharacter("&#" + symbolElement.getAttribute("char") + ";"); |