From 61867136317acd448f348b1aed977bcaf874e742 Mon Sep 17 00:00:00 2001 From: Clay Smalley Date: Thu, 6 Jun 2024 16:21:37 -0400 Subject: [PATCH 1/3] Replace shield icons for Mexican federal highways --- icons/shield_mx_mx.svg | 4 ---- icons/shield_mx_mx_2.svg | 47 ++++++++++++++++++++++++++++++++++++++++ icons/shield_mx_mx_3.svg | 47 ++++++++++++++++++++++++++++++++++++++++ icons/shield_mx_mx_4.svg | 47 ++++++++++++++++++++++++++++++++++++++++ src/js/shield_defs.js | 11 +++++----- src/shieldtest.js | 1 + 6 files changed, 148 insertions(+), 9 deletions(-) delete mode 100644 icons/shield_mx_mx.svg create mode 100644 icons/shield_mx_mx_2.svg create mode 100644 icons/shield_mx_mx_3.svg create mode 100644 icons/shield_mx_mx_4.svg diff --git a/icons/shield_mx_mx.svg b/icons/shield_mx_mx.svg deleted file mode 100644 index 208fd6a19..000000000 --- a/icons/shield_mx_mx.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/icons/shield_mx_mx_2.svg b/icons/shield_mx_mx_2.svg new file mode 100644 index 000000000..1feb1f18c --- /dev/null +++ b/icons/shield_mx_mx_2.svg @@ -0,0 +1,47 @@ + + + + + + + + + diff --git a/icons/shield_mx_mx_3.svg b/icons/shield_mx_mx_3.svg new file mode 100644 index 000000000..1bda1f62e --- /dev/null +++ b/icons/shield_mx_mx_3.svg @@ -0,0 +1,47 @@ + + + + + + + + + diff --git a/icons/shield_mx_mx_4.svg b/icons/shield_mx_mx_4.svg new file mode 100644 index 000000000..13639bbb2 --- /dev/null +++ b/icons/shield_mx_mx_4.svg @@ -0,0 +1,47 @@ + + + + + + + + + diff --git a/src/js/shield_defs.js b/src/js/shield_defs.js index b2bfa3673..2e8fc9ca1 100644 --- a/src/js/shield_defs.js +++ b/src/js/shield_defs.js @@ -538,12 +538,13 @@ export function loadShields() { // Carreteras Federales shields["MX:MX"] = { - spriteBlank: "shield_mx_mx", + spriteBlank: ["shield_mx_mx_2", "shield_mx_mx_3", "shield_mx_mx_4"], + textLayout: textConstraint("ellipse"), padding: { - left: 2, - right: 2, - top: 3, - bottom: 2, + left: 1, + right: 1, + top: 5, + bottom: 4, }, }; diff --git a/src/shieldtest.js b/src/shieldtest.js index 26b052058..be51ad270 100644 --- a/src/shieldtest.js +++ b/src/shieldtest.js @@ -135,6 +135,7 @@ let networks = [ "CA:PE", "US:FL:Toll", "CA:BC", + "MX:MX", "IN:NH", "PK:motorway", "US:US", From 45b27319da77c16578b6c520047a18adead0724f Mon Sep 17 00:00:00 2001 From: Clay Smalley Date: Wed, 12 Jun 2024 21:14:15 -0400 Subject: [PATCH 2/3] Expand max ref length to 7 characters --- icons/shield_mx_mx_2.svg | 49 +++------------------------------------- icons/shield_mx_mx_3.svg | 49 +++------------------------------------- icons/shield_mx_mx_4.svg | 49 +++------------------------------------- shieldlib/src/shield.ts | 3 ++- src/shieldtest.html | 2 +- src/shieldtest.js | 2 ++ 6 files changed, 14 insertions(+), 140 deletions(-) diff --git a/icons/shield_mx_mx_2.svg b/icons/shield_mx_mx_2.svg index 1feb1f18c..c8056449f 100644 --- a/icons/shield_mx_mx_2.svg +++ b/icons/shield_mx_mx_2.svg @@ -1,47 +1,4 @@ - - - - - - - - + + + diff --git a/icons/shield_mx_mx_3.svg b/icons/shield_mx_mx_3.svg index 1bda1f62e..86a5478ae 100644 --- a/icons/shield_mx_mx_3.svg +++ b/icons/shield_mx_mx_3.svg @@ -1,47 +1,4 @@ - - - - - - - - + + + diff --git a/icons/shield_mx_mx_4.svg b/icons/shield_mx_mx_4.svg index 13639bbb2..197a0a7d5 100644 --- a/icons/shield_mx_mx_4.svg +++ b/icons/shield_mx_mx_4.svg @@ -1,47 +1,4 @@ - - - - - - - - + + + diff --git a/shieldlib/src/shield.ts b/shieldlib/src/shield.ts index 8eada1a6a..fcbe1c82b 100644 --- a/shieldlib/src/shield.ts +++ b/shieldlib/src/shield.ts @@ -15,6 +15,7 @@ import { TextPlacement } from "./shield_text"; import { StyleImage } from "maplibre-gl"; const narrowCharacters = /[1IJijl .-]/g; +const maxRefLength = 7; function compoundShieldSize( r: ShieldRenderingContext, @@ -30,7 +31,7 @@ function compoundShieldSize( } export function isValidRef(ref: string): boolean { - return ref !== null && ref.length !== 0 && ref.length <= 6; + return ref !== null && ref.length !== 0 && ref.length <= maxRefLength; } /** diff --git a/src/shieldtest.html b/src/shieldtest.html index 164891c8e..8a64cf541 100644 --- a/src/shieldtest.html +++ b/src/shieldtest.html @@ -37,7 +37,7 @@
Network - Graphic + Graphic Performance
diff --git a/src/shieldtest.js b/src/shieldtest.js index be51ad270..68c010601 100644 --- a/src/shieldtest.js +++ b/src/shieldtest.js @@ -260,6 +260,8 @@ let refs = [ "A 562", "1138-2", "A26/A7", + "GUA 10D", + "SS18var", ]; export function getShieldCanvas(network, ref, name) { From 92881dd20bc6dc0aa5740a076279943a982031c9 Mon Sep 17 00:00:00 2001 From: Clay Smalley Date: Wed, 12 Jun 2024 21:51:26 -0400 Subject: [PATCH 3/3] update tests to reflect max ref length change --- test/spec/shield.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/spec/shield.js b/test/spec/shield.js index 29beb569d..472aba34c 100644 --- a/test/spec/shield.js +++ b/test/spec/shield.js @@ -27,8 +27,8 @@ const handler = shieldRenderer.getStyleImageMissingHandler(); handler({ id: "shield\nBAB\n5\n\n" }); handler({ id: "shield\nUS:RI\n\n\n" }); -handler({ id: "shield\nUS:RI\nABC123\n\n" }); -handler({ id: "shield\nUS:RI\nEquator\n\n" }); +handler({ id: "shield\nUS:RI\nABC1234\n\n" }); +handler({ id: "shield\nUS:RI\nLatitude\n\n" }); handler({ id: "shield\nrwn\n\n\n" }); handler({ id: "foo" }); @@ -51,9 +51,9 @@ describe("shield", function () { expect(isBlankSprite("shield\nUS:RI\n\n\n")).to.be.true; }); it("rejects a long ref", function () { - expect(mockRepo.hasSprite("shield\nUS:RI\nABC123\n\n")).to.be.true; - expect(isBlankSprite("shield\nUS:RI\nABC123\n\n")).to.be.false; - expect(isBlankSprite("shield\nUS:RI\nEquator\n\n")).to.be.true; + expect(mockRepo.hasSprite("shield\nUS:RI\nABC1234\n\n")).to.be.true; + expect(isBlankSprite("shield\nUS:RI\nABC1234\n\n")).to.be.false; + expect(isBlankSprite("shield\nUS:RI\nLatitude\n\n")).to.be.true; }); }); });