Prepare english name maps
This commit is contained in:
parent
68cd88c36d
commit
46adfea1c1
5 changed files with 11 additions and 16 deletions
|
@ -22,7 +22,7 @@ public class RenderingContext {
|
||||||
// FIELDS OF THAT CLASS ARE USED IN C++
|
// FIELDS OF THAT CLASS ARE USED IN C++
|
||||||
public boolean interrupted = false;
|
public boolean interrupted = false;
|
||||||
public boolean nightMode = false;
|
public boolean nightMode = false;
|
||||||
public boolean useEnglishNames = false;
|
public String preferredLocale = "";
|
||||||
public int defaultColor = 0xf1eee8;
|
public int defaultColor = 0xf1eee8;
|
||||||
|
|
||||||
public RenderingContext() {
|
public RenderingContext() {
|
||||||
|
|
|
@ -1158,13 +1158,6 @@ public class BinaryMapIndexReader {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if(req.cacheCoordinates.size() > 500 && req.cacheTypes.size() > 0) {
|
|
||||||
// TagValuePair p = root.decodeType(req.cacheTypes.get(0));
|
|
||||||
// if("admin_level".equals(p.tag)) {
|
|
||||||
// log.info("TODO Object is ignored due to performance issues " + p.tag + " "+p.value);
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
BinaryMapDataObject dataObject = new BinaryMapDataObject();
|
BinaryMapDataObject dataObject = new BinaryMapDataObject();
|
||||||
dataObject.area = area;
|
dataObject.area = area;
|
||||||
dataObject.coordinates = req.cacheCoordinates.toArray();
|
dataObject.coordinates = req.cacheCoordinates.toArray();
|
||||||
|
|
|
@ -668,7 +668,7 @@ public class MapRenderRepositories {
|
||||||
currentRenderingContext.width = requestedBox.getPixWidth();
|
currentRenderingContext.width = requestedBox.getPixWidth();
|
||||||
currentRenderingContext.height = requestedBox.getPixHeight();
|
currentRenderingContext.height = requestedBox.getPixHeight();
|
||||||
currentRenderingContext.nightMode = nightMode;
|
currentRenderingContext.nightMode = nightMode;
|
||||||
currentRenderingContext.useEnglishNames = prefs.USE_ENGLISH_NAMES.get();
|
currentRenderingContext.preferredLocale = prefs.USE_ENGLISH_NAMES.get()?":en":"";
|
||||||
currentRenderingContext.setDensityValue(mapDensity);
|
currentRenderingContext.setDensityValue(mapDensity);
|
||||||
currentRenderingContext.screenDensityRatio = mapDensity / Math.max(1, requestedBox.getDensity()) ;
|
currentRenderingContext.screenDensityRatio = mapDensity / Math.max(1, requestedBox.getDensity()) ;
|
||||||
// init rendering context
|
// init rendering context
|
||||||
|
|
|
@ -271,7 +271,7 @@ public class OsmandRenderer {
|
||||||
drawIconsOverCanvas(rc, cv);
|
drawIconsOverCanvas(rc, cv);
|
||||||
|
|
||||||
notifyListeners(notifyList);
|
notifyListeners(notifyList);
|
||||||
textRenderer.drawTextOverCanvas(rc, cv, rc.useEnglishNames);
|
textRenderer.drawTextOverCanvas(rc, cv, rc.preferredLocale);
|
||||||
|
|
||||||
long time = System.currentTimeMillis() - now;
|
long time = System.currentTimeMillis() - now;
|
||||||
rc.renderingDebugInfo = String.format("Rendering: %s ms (%s text)\n"
|
rc.renderingDebugInfo = String.format("Rendering: %s ms (%s text)\n"
|
||||||
|
|
|
@ -204,7 +204,7 @@ public class TextRenderer {
|
||||||
cv.drawText(text, centerX, centerY, paint);
|
cv.drawText(text, centerX, centerY, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawTextOverCanvas(RenderingContext rc, Canvas cv, boolean useEnglishNames) {
|
public void drawTextOverCanvas(RenderingContext rc, Canvas cv, String preferredLocale) {
|
||||||
int size = rc.textToDraw.size();
|
int size = rc.textToDraw.size();
|
||||||
|
|
||||||
// 1. Sort text using text order
|
// 1. Sort text using text order
|
||||||
|
@ -221,7 +221,7 @@ public class TextRenderer {
|
||||||
for (int i = 0; i < size; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
TextDrawInfo text = rc.textToDraw.get(i);
|
TextDrawInfo text = rc.textToDraw.get(i);
|
||||||
if (text.text != null && text.text.length() > 0) {
|
if (text.text != null && text.text.length() > 0) {
|
||||||
if (useEnglishNames) {
|
if (preferredLocale.length() > 0) {
|
||||||
text.text = Junidecode.unidecode(text.text);
|
text.text = Junidecode.unidecode(text.text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -377,12 +377,14 @@ public class TextRenderer {
|
||||||
boolean isName = tag == obj.getMapIndex().nameEncodingType;
|
boolean isName = tag == obj.getMapIndex().nameEncodingType;
|
||||||
String nameTag = isName ? "" : obj.getMapIndex().decodeType(tag).tag;
|
String nameTag = isName ? "" : obj.getMapIndex().decodeType(tag).tag;
|
||||||
boolean skip = false;
|
boolean skip = false;
|
||||||
if (isName && rc.useEnglishNames && map.containsKey(obj.getMapIndex().nameEnEncodingType)) {
|
// not completely correct we should check "name"+rc.preferredLocale
|
||||||
|
if (isName && !rc.preferredLocale.equals("") &&
|
||||||
|
map.containsKey(obj.getMapIndex().nameEnEncodingType)) {
|
||||||
skip = true;
|
skip = true;
|
||||||
}
|
}
|
||||||
if (tag == obj.getMapIndex().nameEnEncodingType && !rc.useEnglishNames) {
|
// if (tag == obj.getMapIndex().nameEnEncodingType && !rc.useEnglishNames) {
|
||||||
skip = true;
|
// skip = true;
|
||||||
}
|
// }
|
||||||
if(!skip) {
|
if(!skip) {
|
||||||
createTextDrawInfo(obj, render, rc, pair, xMid, yMid, path, points, name, nameTag);
|
createTextDrawInfo(obj, render, rc, pair, xMid, yMid, path, points, name, nameTag);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue