diff --git a/data/styles/default/dark/symbols/shield-it-a-scaled.svg b/data/styles/default/dark/symbols/shield-it-a-scaled.svg
new file mode 100644
index 000000000..1a207cdd4
--- /dev/null
+++ b/data/styles/default/dark/symbols/shield-it-a-scaled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/shield-it-a.svg b/data/styles/default/dark/symbols/shield-it-a.svg
new file mode 100644
index 000000000..9a5796c80
--- /dev/null
+++ b/data/styles/default/dark/symbols/shield-it-a.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/shield-it-a-scaled.svg b/data/styles/default/light/symbols/shield-it-a-scaled.svg
new file mode 100644
index 000000000..eb314853f
--- /dev/null
+++ b/data/styles/default/light/symbols/shield-it-a-scaled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/shield-it-a.svg b/data/styles/default/light/symbols/shield-it-a.svg
new file mode 100644
index 000000000..e073b642e
--- /dev/null
+++ b/data/styles/default/light/symbols/shield-it-a.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/libs/drape_frontend/apply_feature_functors.cpp b/libs/drape_frontend/apply_feature_functors.cpp
index 3554eb240..8d930dba0 100644
--- a/libs/drape_frontend/apply_feature_functors.cpp
+++ b/libs/drape_frontend/apply_feature_functors.cpp
@@ -195,7 +195,7 @@ m2::PointF GetOffset(int offsetX, int offsetY)
bool IsSymbolRoadShield(ftypes::RoadShield const & shield)
{
- return shield.m_type == ftypes::RoadShieldType::US_Interstate || shield.m_type == ftypes::RoadShieldType::US_Highway;
+ return shield.m_type == ftypes::RoadShieldType::US_Interstate || shield.m_type == ftypes::RoadShieldType::US_Highway || shield.m_type == ftypes::RoadShieldType::Italy_Autostrada;
}
std::string GetRoadShieldSymbolName(ftypes::RoadShield const & shield, double fontScale)
@@ -206,6 +206,8 @@ std::string GetRoadShieldSymbolName(ftypes::RoadShield const & shield, double fo
result = shield.m_name.size() <= 2 ? "shield-us-i-thin" : "shield-us-i-wide";
else if (shield.m_type == ftypes::RoadShieldType::US_Highway)
result = shield.m_name.size() <= 2 ? "shield-us-hw-thin" : "shield-us-hw-wide";
+ else if (shield.m_type == ftypes::RoadShieldType::Italy_Autostrada)
+ result = "shield-it-a";
else
ASSERT(false, ("This shield type doesn't support symbols:", shield.m_type));
@@ -301,7 +303,8 @@ dp::Color GetRoadShieldTextColor(dp::Color const & baseColor, ftypes::RoadShield
{RoadShieldType::Generic_Pill_Orange_Bordered, kRoadShieldBlackTextColor},
{RoadShieldType::US_Interstate, kRoadShieldWhiteTextColor},
{RoadShieldType::US_Highway, kRoadShieldBlackTextColor},
- {RoadShieldType::UK_Highway, kRoadShieldUKYellowTextColor}};
+ {RoadShieldType::UK_Highway, kRoadShieldUKYellowTextColor},
+ {RoadShieldType::Italy_Autostrada, kRoadShieldWhiteTextColor}};
if (auto const * cl = kColors.Find(shield.m_type); cl)
return df::GetColorConstant(*cl);
diff --git a/libs/indexer/road_shields_parser.cpp b/libs/indexer/road_shields_parser.cpp
index bbd471fda..2ce29e6dd 100644
--- a/libs/indexer/road_shields_parser.cpp
+++ b/libs/indexer/road_shields_parser.cpp
@@ -473,7 +473,7 @@ class ItalyRoadShieldParser : public SimpleRoadShieldParser
{
public:
explicit ItalyRoadShieldParser(std::string const & baseRoadNumber)
- : SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Generic_Green},
+ : SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Italy_Autostrada},
{"SS", RoadShieldType::Generic_Blue},
{"SR", RoadShieldType::Generic_Blue},
{"SP", RoadShieldType::Generic_Blue}})
@@ -877,6 +877,7 @@ std::string DebugPrint(RoadShieldType shieldType)
case RoadShieldType::US_Interstate: return "US interstate";
case RoadShieldType::US_Highway: return "US highway";
case RoadShieldType::UK_Highway: return "UK highway";
+ case RoadShieldType::Italy_Autostrada: return "Italy autostrada";
case RoadShieldType::Hidden: return "hidden";
case RoadShieldType::Count: CHECK(false, ("RoadShieldType::Count is not to be used as a type"));
}
diff --git a/libs/indexer/road_shields_parser.hpp b/libs/indexer/road_shields_parser.hpp
index 5d6e5af23..65653d31d 100644
--- a/libs/indexer/road_shields_parser.hpp
+++ b/libs/indexer/road_shields_parser.hpp
@@ -36,6 +36,7 @@ enum class RoadShieldType
US_Interstate,
US_Highway,
UK_Highway,
+ Italy_Autostrada,
Hidden,
Count
};