Тип объекта это Type=0x1f или Type=0x1151a. А String1=0x19,река - это имя по умолчанию в TYP файле, 0х19 - русский язык, может встретиться 0х04 - тогда надпись на английском. Если в OSM данная река не имеет имени, то она подписывается из TYP файла “река”. Для редактирования TYP я пользуюсь TYPViewer, программа с русским интерфейсом бесплатная. Запускаешь ее, открываешь свой TYP, с лева в окошке “список полилиний” выбираешь 0x01f, двойной клик мышкой или нажатие “изменить” откроет окно редактирования, где можно менять параметры (все подписано по русски). Объясняю почему в стиле две реки. 0x1f показывается при масштабе от 5м до примерно 3км (сейчас идет обработка данных для карты, и я не могу посмотреть точно) вторая 0x1151a примерно от 5км и на пол страны на экране (образно).
Теперь про Паб
amenity=pub { name '${name}, паб (${phone})' | '${name}, паб' | 'паб' } [0x2d02 resolution 22]
Эта строчка говорит - Паб отобразить на экране значком 0x2d02 при масштабе от 5м до 700-800м (resolution 22 - масштаб) и если в OSM пабу присвоены имя (например, Моряк) и телефон, отобразится “Моряк, паб 8-921-ххх-хх-хх”. Если присвоено только имя - “Моряк, паб”, а если и имя не присвоено - “паб”.
Про продукты - в строке говорится, присвоить (set) имя которое состоит из имени OSM + слово “продукты” (‘${name}, продукты’) про отображение имени ничего нет.
Я думаю строка должна быть примерно такая:
shop=convenience {name ‘set name=${name}, продукты’ | ‘продукты’ } [0x2e02 resolution 22]
или что-то похожее со скобками (сейчас не посмотреть) сравни с похожими строками из этого и других стилей.
Или без set и =, как и вторая.
Я по началу так и изучал чем отличается стиль velo100 от MapTourist в отображении и строках, находил разницу и сравнивал, менял на одном и опять сравнивал.
Все это можно прочитать на ангельском языке в файле style-manual.pdf который находится в папке mkgmap\doc
На остальное позже когда посмотрю карты.