From 7e0024fb40c2604eb0154dab26374c563e32f1c4 Mon Sep 17 00:00:00 2001 From: Markku Huotari Date: Sun, 21 Nov 2021 23:09:15 +0200 Subject: [PATCH 01/14] Merge pull request #1593 from houtari/patch-1 Update types_strings.txt Signed-off-by: houtari --- data/strings/types_strings.txt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/data/strings/types_strings.txt b/data/strings/types_strings.txt index 1f64a09723..c903b9dfe1 100644 --- a/data/strings/types_strings.txt +++ b/data/strings/types_strings.txt @@ -18703,12 +18703,14 @@ [type.sport] en = sport + fi = Urheilu ja = スポーツ pt = Desporto pt-BR = Esporte [type.sport.american_football] en = American Football + fi = Amerikkalainen jalkapallo ja = アメリカンフットボール pl = Futbol amerykański pt = Futebol americano @@ -18717,6 +18719,7 @@ [type.sport.archery] en = Archery + fi = Jousiammunta fr = Tir à l'arc ja = アーチェリー pl = Łucznictwo sportowe @@ -18810,6 +18813,7 @@ [type.sport.bowls] en = Bowls + fi = Bowls ja = ローンボウルズ pl = Kręgle pt = Bowls @@ -18819,6 +18823,7 @@ [type.sport.cricket] en = Cricket + fi = Kriketti ja = クリケット pl = Krykiet pt = Críquete @@ -18828,6 +18833,7 @@ [type.sport.curling] en = Сurling + fi = Curling ja = カーリング pt = Curling pt-BR = Curling @@ -18877,6 +18883,7 @@ [type.sport.golf] en = Golf + fi = Golf ja = ゴルフ pl = Golf pt = Golfe @@ -18886,6 +18893,7 @@ [type.sport.gymnastics] en = Gymnastics + fi = Voimistelu fr = Gymnastique ja = 体操競技 pl = Gimnastyka @@ -18896,6 +18904,7 @@ [type.sport.handball] en = Handball + fi = Käsipallo ja = ハンドボール pl = Piłka ręczna pt = Andebol @@ -18922,6 +18931,7 @@ [type.sport.shooting] en = Shooting + fi = Ammunta fr = Sports de tir ja = 射撃競技 pl = Strzelectwo sportowe @@ -18932,6 +18942,7 @@ [type.sport.skiing] en = Skiing + fi = Hiihto fr = Ski ja = スキー pt = Esqui @@ -18940,6 +18951,7 @@ [type.sport.soccer] en = Soccer (Football) + fi = Jalkapallo fr = Football ja = サッカー pt = Futebol @@ -18949,6 +18961,7 @@ [type.sport.swimming] en = Swimming + fi = Uinti fr = Natation ja = 水泳 pl = Pływanie @@ -18993,6 +19006,7 @@ [type.tourism] en = Tourism + fi = Turismi ja = 観光 pl = Turystyka pt = Turismo @@ -19907,6 +19921,7 @@ [type.traffic_calming.bump] en = Traffic Bump + fi = Hidastetöyssy fr = Ralentisseur ja = スピードバンプ pl = Krótki próg zwalniający @@ -19925,6 +19940,7 @@ [type.waterway] en = Waterway + fi = Vesiväylä ja = 水域 pt = Curso de água pt-BR = Curso de água @@ -19991,6 +20007,7 @@ [type.waterway.dam] en = Dam de = Damm + fi = Pato fr = Dam ja = ダム pt = Barragem @@ -20001,6 +20018,7 @@ [type.waterway.ditch] en = Ditch de = Graben + fi = Oja fr = Fossé ja = 排水路 pt = Vala @@ -20020,6 +20038,7 @@ [type.waterway.dock] en = Waterway Dock + fi = Telakka fr = Cale ja = ドック pt = Doca @@ -20351,6 +20370,7 @@ [type.wheelchair] en = Wheelchair de = Rollstuhl + fi = Rullatuoli ja = 車椅子 pt = Cadeiras de rodas pt-BR = Cadeiras de rodas @@ -20495,6 +20515,7 @@ [type.piste_type.downhill] en = piste:type-downhill + fi = Laskettelurinne pt = Esqui alpino pt-BR = Esqui alpino @@ -20530,6 +20551,7 @@ [type.piste_type.nordic] en = piste:type-nordic + fi = Latu pt = Pista tipo nórdico pt-BR = Pista tipo nórdico @@ -20573,6 +20595,7 @@ [type.area_highway.cycleway] en = Bike Path de = Radweg + fi = Pyörätie fr = Piste cyclable pt = Ciclovia pt-BR = Ciclovia @@ -20581,6 +20604,7 @@ [type.area_highway.footway] en = Path de = Weg + fi = Kävelytie fr = Chemin pt = Caminho pedonal pt-BR = Caminho pedonal @@ -20595,12 +20619,14 @@ [type.area_highway.motorway] en = area:highway-motorway + fi = Moottoritie fr = Autoroute pt = Autoestrada pt-BR = Rodovia [type.area_highway.path] en = Path + fi = Polku fr = Chemin pt = Caminho pt-BR = Caminho @@ -20608,6 +20634,7 @@ [type.area_highway.pedestrian] en = Street + fi = Kävelykatu fr = Rue piétonne pt = Rua pedonal pt-BR = Rua pedonal @@ -20622,6 +20649,7 @@ [type.area_highway.residential] en = Street + fi = Katu fr = Rue pt = Rua residencial pt-BR = Rua residencial @@ -20650,6 +20678,7 @@ [type.area_highway.steps] en = Steps + fi = Portaat fr = Escaliers pt = Escadas pt-BR = Escadas -- 2.45.3 From fc18299d00c4ddff298f1cc15ae3939f52a2acc2 Mon Sep 17 00:00:00 2001 From: Markku Huotari Date: Sun, 21 Nov 2021 23:09:45 +0200 Subject: [PATCH 02/14] Update strings.txt (#1594) Fixed some typos and made finnish translations more fluent. Signed-off-by: houtari --- data/strings/strings.txt | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/data/strings/strings.txt b/data/strings/strings.txt index c48fc8c8bd..ab02de6e06 100644 --- a/data/strings/strings.txt +++ b/data/strings/strings.txt @@ -2019,7 +2019,7 @@ el = Παντοπωλεία es = Productos fa = عطاری - fi = Tuotteet + fi = Elintarvikkeet fr = Les courses hu = Termékek id = Toserba @@ -4683,7 +4683,7 @@ el = Πνευματικά δικαιώματα es = Derechos de autor fa = حق نشر و کپی رایت - fi = Copyright + fi = Tekijänoikeudet fr = Tous droits réservés he = זכויות יוצרים hu = Szerzői jog @@ -16163,7 +16163,7 @@ es = Este nombre ya ha sido tomado es-MX = Este nombre ya está en uso fa = این اسم قبلا انتخاب شده است - fi = Tämä nimi on jo otettu + fi = Nimi on jo käytössä fr = Ce nom est déjà pris hu = Ez a név már foglalt id = Nama ini sudah dipakai @@ -16890,7 +16890,7 @@ es = Configuraciones de seguimiento es-MX = Configuraciones de rastreo fa = تنظیمات ردیابی - fi = Seuranta-asetukset + fi = Paikannusasetukset fr = Paramètres de suivi hu = Követési beállítások id = Pengaturan treking @@ -17149,7 +17149,7 @@ es = Capas del mapa es-MX = Capas del mapa fa = لایه های نقشه - fi = Kartan tasot + fi = Karttatasot fr = Couches de carte hu = Térképrétegek id = Lapisan peta @@ -17495,7 +17495,7 @@ es = Ocultar en el mapa es-MX = Ocultar del mapa fa = پنهان کردن از نقشه - fi = Piilottaa kartalta + fi = Piilota kartalta fr = Masquer de la carte hu = Lefedés a térképen id = Sembunyikan dari peta @@ -19399,7 +19399,7 @@ es = Para construir una ruta, descarga los mapas ausentes en tu dispositivo es-MX = Al construir ruta, descargue los mapas ausentes en su dispositivo fa = برای ایجاد مسیر، نقشه های ناقص را روی دستگاه خود را دانلود کنید - fi = Luodaksesi reitin lataa puutt. kartat + fi = Luodaksesi reitin lataa puuttuvat kartat fr = Pour créer l'itinéraire, téléchargez les cartes manquantes sur votre appareil hu = Útvonal létrehozásához töltsd le a hiányzó térképeket az eszközre id = Untuk membuat rute, unduh peta baru di perangkat anda @@ -21217,7 +21217,7 @@ es = Ruta de metro no encontrada es-MX = Ruta de metro no encontrada fa = مسیر مترو یافت نشد - fi = Metroreittiä ei ole löytynyt + fi = Metroreittiä ei löytynyt fr = Itinéraire de métro non trouvé hu = Metró útvonal nem található id = Jalur kereta bawah tanah tidak ditemukan @@ -21291,7 +21291,7 @@ es = Alturas es-MX = Alturas fa = ایزومپ - fi = Korkeudet + fi = Maasto fr = Terrain hu = Terep id = Isometrik @@ -21328,7 +21328,7 @@ es = Para usar la altitud de relieve, actualiza o descarga el mapa del área deseada es-MX = Para usar la altitud de relieve, actualice o descargue el mapa del área deseada fa = برای فعال سازی و استفاده از لایه توپوگرافی نقشه منطقه را به روزرسانی یا دانلود کنید - fi = Päivitä tai lataa haluamasi alueen kartta, voidaksesi käyttää korkeuslinjoja + fi = Päivitä tai lataa haluamasi alueen kartta, voidaksesi käyttää korkeuskäyriä fr = Pour utiliser les lignes d'altitude, mettez à jour ou téléchargez la carte de l'endroit désiré hu = A topográfiai réteg aktiválásához és használatához kérjük frissítse vagy töltse le az adott terület térképét id = Untuk mengaktifkan dan menggunakan lapisan topografi, silakan perbarui atau unduh peta area @@ -21365,7 +21365,7 @@ es = La altitud de relieve aún no está disponible en esta región es-MX = La altitud de relieve no está aún disponible en esta región fa = لایه توپوگرافی هنوز برای این منطقه در دسترس نیست - fi = Korkeus linjat eivät ole vielä saatavilla tällä alueella + fi = Korkeuskäyrät eivät ole vielä saatavilla tällä alueella fr = Les lignes d'élévation ne sont pas encore disponibles dans cette région hu = Ezen a területen a topográfiai réteg még nem elérhető id = Lapisan topografi belum tersedia untuk wilayah ini @@ -21547,7 +21547,7 @@ es = Ascenso es-MX = Ascenso fa = بالا رفتن - fi = Nosto + fi = Nousua fr = Montée hu = Felemelkedés id = Menanjak @@ -21584,7 +21584,7 @@ es = Descenso es-MX = Descenso fa = پایین آمدن - fi = Lasku + fi = Laskua fr = Descente hu = Leereszkedés id = Menurun @@ -21806,7 +21806,7 @@ es = Amplía el mapa para ver las isolíneas es-MX = Amplíe el mapa para ver las isolíneas fa = برای بررسی خطوط تراز زوم کنید - fi = Suurenna kartta nähdäksesi korkeuslinjat + fi = Suurenna kartta nähdäksesi korkeuskäyrät fr = Zoomez pour voir les courbes de niveaux hu = Nagyítás az isovonalak felfedezéséhez id = Perbesar untuk menjelajahi garis kontur @@ -21992,7 +21992,7 @@ el = Αφήστε την οθόνη να κοιμηθεί es = Permitir que la pantalla duerma fa = اجازه دهید صفحه نمایش بخوابد - fi = Anna näytön nukkua + fi = Salli näytön lepotila fr = Autoriser l'écran à dormir he = אפשר למסך לישון hu = Hagyja aludni a képernyőt @@ -22029,7 +22029,7 @@ el = Όταν είναι ενεργοποιημένη, η οθόνη θα αφεθεί να κοιμηθεί μετά από περίοδο αδράνειας. es = Cuando está habilitado, la pantalla podrá dormir después de un período de inactividad. fa = درصورت فعال بودن ، بعد از یک دوره عدم فعالیت به صفحه اجازه خواب داده می شود. - fi = Kun tämä asetus on käytössä, näytön annetaan nukkua käyttämättömyyden jälkeen. + fi = Kun tämä asetus on käytössä, näyttö menee lepotilaan käyttämättömyyden jälkeen. fr = Lorsqu'il est activé, l'écran sera autorisé à dormir après une période d'inactivité. he = כאשר מופעל המסך יורשה לישון לאחר תקופה של חוסר פעילות. hu = Ha engedélyezve van, akkor a képernyő inaktivitás után alszik. -- 2.45.3 From 53eb44e2716cf5eb0410d34f306faddb4591987d Mon Sep 17 00:00:00 2001 From: Alexander Borsuk Date: Sun, 21 Nov 2021 22:17:07 +0100 Subject: [PATCH 03/14] [strings] Regenerated finnish translations Signed-off-by: Alexander Borsuk --- android/res/values-fi/strings.xml | 61 +++++++++---- .../fi.lproj/Localizable.strings | 86 +++++++++---------- 2 files changed, 88 insertions(+), 59 deletions(-) diff --git a/android/res/values-fi/strings.xml b/android/res/values-fi/strings.xml index 9193df1fa4..c2cdf62036 100644 --- a/android/res/values-fi/strings.xml +++ b/android/res/values-fi/strings.xml @@ -101,7 +101,7 @@ Missä syödä - Tuotteet + Elintarvikkeet Liikenne @@ -231,7 +231,7 @@ Kuinka tukea meitä? - Copyright + Tekijänoikeudet Ilmoita virheestä @@ -637,7 +637,7 @@ Nimi ei voinut olla tyhjä Anna luettelon nimi Uusi lista - Tämä nimi on jo otettu + Nimi on jo käytössä Valitse toinen nimi Tämä nimi on liian pitkä Odota… @@ -664,14 +664,14 @@ %d radat - Seuranta-asetukset + Paikannusasetukset Kaatumisraportti Me saatamme käyttää tietojasi parantaaksemme Organic Maps kokemusta. Muutokset alkavat vaikuttamaan kun käynnistät sovelluksen uudestaan. Yksityisyyskäytäntö Käyttöehdot Liikenne Metro - Kartan tasot + Karttatasot Metrokartta ei ole saatavilla Lista on tyhjä Lisätäksesi kirjanmerkin, paina kartasta ja sitten paina tähden kuvaa @@ -680,7 +680,7 @@ Viedä tiedosto Listan asetukset Poista lista - Piilottaa kartalta + Piilota kartalta Julkinen pääsy Yksityinen pääsy Kategoria @@ -733,7 +733,7 @@ Reittiä ei ole mahdollista luoda loppupisteeseen. Valitse toinen Ei ole GPS-signaalia. Siirry avaralle alueelle Reittiä ei ole mahdollista luoda. Valitse muut reittipisteet - Luodaksesi reitin lataa puutt. kartat + Luodaksesi reitin lataa puuttuvat kartat On tapahtunut virhe. Käynnistä sovellus uudelleen Reitti luodaan nykyisestä sijainnista Reitti muutetaan autoilijan reitiksi @@ -790,32 +790,32 @@ Pyhät paikat Valitse luettelo Metron reittiohjeet eivät ole vielä saatavilla tällä alueella - Metroreittiä ei ole löytynyt + Metroreittiä ei löytynyt Valitse reitin aloitus- tai loppupiste lähemmäksi metroasemaa - Korkeudet - Päivitä tai lataa haluamasi alueen kartta, voidaksesi käyttää korkeuslinjoja - Korkeus linjat eivät ole vielä saatavilla tällä alueella + Maasto + Päivitä tai lataa haluamasi alueen kartta, voidaksesi käyttää korkeuskäyriä + Korkeuskäyrät eivät ole vielä saatavilla tällä alueella Vaikeustaso Helppo Kohtuullinen Vaikea - Nosto - Lasku + Nousua + Laskua Min. korkeus Maks. korkeus Vaikeus Etäisyys: Aika: - Suurenna kartta nähdäksesi korkeuslinjat + Suurenna kartta nähdäksesi korkeuskäyrät Päivitys Lataus Avaintietoa Lataa maailmankartta Yhteysvirhe Irrota USB-kaapeli - Anna näytön nukkua + Salli näytön lepotila - Kun tämä asetus on käytössä, näytön annetaan nukkua käyttämättömyyden jälkeen. + Kun tämä asetus on käytössä, näyttö menee lepotilaan käyttämättömyyden jälkeen. Päivitä ladatut kartat @@ -1364,10 +1364,24 @@ Videokauppa Videopelikauppa Alkoholimyymälä + Urheilu + Amerikkalainen jalkapallo + Jousiammunta Yleisurheilu Koripallo + Bowls + Kriketti + Curling Hevosurheilu + Golf + Voimistelu + Käsipallo + Ammunta + Hiihto + Jalkapallo + Uinti Tenniskenttä + Turismi Vuorimajoitus Loma-asunnot Taideteos @@ -1398,8 +1412,13 @@ Näköalatasanne Autiotupa Eläintarha + Hidastetöyssy + Vesiväylä Kanaali Kanaali + Pato + Oja + Telakka Kanavasulku Joki Joki @@ -1409,8 +1428,18 @@ Joki Joki Vesiputous + Rullatuoli Osittain varustettu vammaisille Ei varustettu vammaisille Varustettu vammaisille + Laskettelurinne + Latu Rakennus + Pyörätie + Kävelytie + Moottoritie + Polku + Kävelykatu + Katu + Portaat diff --git a/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings index 519ff20aeb..5264b328ca 100644 --- a/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings @@ -160,7 +160,7 @@ "eat" = "Missä syödä"; /* Search category for grocery stores */ -"food" = "Tuotteet"; +"food" = "Elintarvikkeet"; /* Search category */ "transport" = "Liikenne"; @@ -391,7 +391,7 @@ "how_to_support_us" = "Kuinka tukea meitä?"; /* Button in the main Help dialog */ -"copyright" = "Copyright"; +"copyright" = "Tekijänoikeudet"; /* Text in menu + Button in the main Help dialog */ "report_a_bug" = "Ilmoita virheestä"; @@ -1131,7 +1131,7 @@ "bookmarks_new_list_hint" = "Uusi lista"; -"bookmarks_error_title_list_name_already_taken" = "Tämä nimi on jo otettu"; +"bookmarks_error_title_list_name_already_taken" = "Nimi on jo käytössä"; "bookmarks_error_message_list_name_already_taken" = "Valitse toinen nimi"; @@ -1159,7 +1159,7 @@ "restore" = "Palauttaa"; -"subtittle_opt_out" = "Seuranta-asetukset"; +"subtittle_opt_out" = "Paikannusasetukset"; "crash_reports" = "Kaatumisraportti"; @@ -1173,7 +1173,7 @@ "button_layer_subway" = "Metro"; -"layers_title" = "Kartan tasot"; +"layers_title" = "Karttatasot"; "subway_data_unavailable" = "Metrokartta ei ole saatavilla"; @@ -1193,7 +1193,7 @@ "delete_list" = "Poista lista"; -"hide_from_map" = "Piilottaa kartalta"; +"hide_from_map" = "Piilota kartalta"; "public_access" = "Julkinen pääsy"; @@ -1298,7 +1298,7 @@ "dialog_routing_unable_locate_route_carplay" = "Reittiä ei ole mahdollista luoda. Valitse muut reittipisteet"; -"dialog_routing_download_files_carplay" = "Luodaksesi reitin lataa puutt. kartat"; +"dialog_routing_download_files_carplay" = "Luodaksesi reitin lataa puuttuvat kartat"; "dialog_routing_system_error_carplay" = "On tapahtunut virhe. Käynnistä sovellus uudelleen"; @@ -1405,15 +1405,15 @@ "transit_not_found" = "Metron reittiohjeet eivät ole vielä saatavilla tällä alueella"; -"dialog_pedestrian_route_is_long_header" = "Metroreittiä ei ole löytynyt"; +"dialog_pedestrian_route_is_long_header" = "Metroreittiä ei löytynyt"; "dialog_pedestrian_route_is_long_message" = "Valitse reitin aloitus- tai loppupiste lähemmäksi metroasemaa"; -"button_layer_isolines" = "Korkeudet"; +"button_layer_isolines" = "Maasto"; -"isolines_activation_error_dialog" = "Päivitä tai lataa haluamasi alueen kartta, voidaksesi käyttää korkeuslinjoja"; +"isolines_activation_error_dialog" = "Päivitä tai lataa haluamasi alueen kartta, voidaksesi käyttää korkeuskäyriä"; -"isolines_location_error_dialog" = "Korkeus linjat eivät ole vielä saatavilla tällä alueella"; +"isolines_location_error_dialog" = "Korkeuskäyrät eivät ole vielä saatavilla tällä alueella"; "elevation_profile_diff_level" = "Vaikeustaso"; @@ -1423,9 +1423,9 @@ "elevation_profile_diff_level_hard" = "Vaikea"; -"elevation_profile_ascent" = "Nosto"; +"elevation_profile_ascent" = "Nousua"; -"elevation_profile_descent" = "Lasku"; +"elevation_profile_descent" = "Laskua"; "elevation_profile_minaltitude" = "Min. korkeus"; @@ -1437,7 +1437,7 @@ "elevation_profile_time" = "Aika:"; -"isolines_toast_zooms_1_10" = "Suurenna kartta nähdäksesi korkeuslinjat"; +"isolines_toast_zooms_1_10" = "Suurenna kartta nähdäksesi korkeuskäyrät"; "downloader_updating_ios" = "Päivitys"; @@ -1451,10 +1451,10 @@ "disconnect_usb_cable_title" = "Irrota USB-kaapeli"; -"enable_screen_sleep" = "Anna näytön nukkua"; +"enable_screen_sleep" = "Salli näytön lepotila"; /* Description in preferences */ -"enable_screen_sleep_description" = "Kun tämä asetus on käytössä, näytön annetaan nukkua käyttämättömyyden jälkeen."; +"enable_screen_sleep_description" = "Kun tämä asetus on käytössä, näyttö menee lepotilaan käyttämättömyyden jälkeen."; /* Autoupdate dialog on start */ "whats_new_auto_update_title" = "Päivitä ladatut kartat"; @@ -3039,11 +3039,11 @@ "type.sponsored.partner9" = "sponsored-partner9"; -"type.sport" = "sport"; +"type.sport" = "Urheilu"; -"type.sport.american_football" = "American Football"; +"type.sport.american_football" = "Amerikkalainen jalkapallo"; -"type.sport.archery" = "Archery"; +"type.sport.archery" = "Jousiammunta"; "type.sport.athletics" = "Yleisurheilu"; @@ -3055,9 +3055,9 @@ "type.sport.bowls" = "Bowls"; -"type.sport.cricket" = "Cricket"; +"type.sport.cricket" = "Kriketti"; -"type.sport.curling" = "Сurling"; +"type.sport.curling" = "Curling"; "type.sport.diving" = "Diving"; @@ -3065,25 +3065,25 @@ "type.sport.golf" = "Golf"; -"type.sport.gymnastics" = "Gymnastics"; +"type.sport.gymnastics" = "Voimistelu"; -"type.sport.handball" = "Handball"; +"type.sport.handball" = "Käsipallo"; "type.sport.multi" = "Various Sport"; "type.sport.scuba_diving" = "Scuba Diving"; -"type.sport.shooting" = "Shooting"; +"type.sport.shooting" = "Ammunta"; -"type.sport.skiing" = "Skiing"; +"type.sport.skiing" = "Hiihto"; -"type.sport.soccer" = "Soccer (Football)"; +"type.sport.soccer" = "Jalkapallo"; -"type.sport.swimming" = "Swimming"; +"type.sport.swimming" = "Uinti"; "type.sport.tennis" = "Tenniskenttä"; -"type.tourism" = "Tourism"; +"type.tourism" = "Turismi"; "type.tourism.alpine_hut" = "Vuorimajoitus"; @@ -3147,23 +3147,23 @@ "type.traffic_calming" = "Traffic Calming"; -"type.traffic_calming.bump" = "Traffic Bump"; +"type.traffic_calming.bump" = "Hidastetöyssy"; "type.traffic_calming.hump" = "Traffic Hump"; -"type.waterway" = "Waterway"; +"type.waterway" = "Vesiväylä"; "type.waterway.canal" = "Kanaali"; "type.waterway.canal.tunnel" = "Kanaali"; -"type.waterway.dam" = "Dam"; +"type.waterway.dam" = "Pato"; -"type.waterway.ditch" = "Ditch"; +"type.waterway.ditch" = "Oja"; "type.waterway.ditch.tunnel" = "Ditch"; -"type.waterway.dock" = "Waterway Dock"; +"type.waterway.dock" = "Telakka"; "type.waterway.drain" = "Drain"; @@ -3191,7 +3191,7 @@ "type.waterway.weir" = "Weir"; -"type.wheelchair" = "Wheelchair"; +"type.wheelchair" = "Rullatuoli"; "type.wheelchair.limited" = "Osittain varustettu vammaisille"; @@ -3213,7 +3213,7 @@ "type.piste_type" = "piste:type"; -"type.piste_type.downhill" = "piste:type-downhill"; +"type.piste_type.downhill" = "Laskettelurinne"; "type.piste_type.downhill.advanced" = "piste:type-downhill-advanced"; @@ -3227,27 +3227,27 @@ "type.piste_type.downhill.novice" = "piste:type-downhill-novice"; -"type.piste_type.nordic" = "piste:type-nordic"; +"type.piste_type.nordic" = "Latu"; "type.piste_type.sled" = "piste:type-sled"; "type.building_part" = "Rakennus"; -"type.area_highway.cycleway" = "Bike Path"; +"type.area_highway.cycleway" = "Pyörätie"; -"type.area_highway.footway" = "Path"; +"type.area_highway.footway" = "Kävelytie"; "type.area_highway.living_street" = "Street"; -"type.area_highway.motorway" = "area:highway-motorway"; +"type.area_highway.motorway" = "Moottoritie"; -"type.area_highway.path" = "Path"; +"type.area_highway.path" = "Polku"; -"type.area_highway.pedestrian" = "Street"; +"type.area_highway.pedestrian" = "Kävelykatu"; "type.area_highway.primary" = "Street"; -"type.area_highway.residential" = "Street"; +"type.area_highway.residential" = "Katu"; "type.area_highway.secondary" = "Street"; @@ -3255,7 +3255,7 @@ "type.area_highway.tertiary" = "Street"; -"type.area_highway.steps" = "Steps"; +"type.area_highway.steps" = "Portaat"; "type.area_highway.track" = "area:highway-track"; -- 2.45.3 From a0f934a3c353a6621cfb9f3457fd480eec4eea5c Mon Sep 17 00:00:00 2001 From: Viktor Govako Date: Sun, 21 Nov 2021 14:11:09 +0300 Subject: [PATCH 04/14] [3party] Updated Vulkan headers and wrappers. Signed-off-by: Viktor Govako --- 3party/Vulkan-Headers | 2 +- 3party/vulkan_wrapper/vulkan_wrapper.cpp | 910 ++++++++++++++++-- 3party/vulkan_wrapper/vulkan_wrapper.h | 349 ++++++- .../vulkan/android_vulkan_context_factory.hpp | 1 + drape/vulkan/vulkan_layers.cpp | 8 +- drape/vulkan/vulkan_utils.cpp | 9 +- 6 files changed, 1146 insertions(+), 133 deletions(-) diff --git a/3party/Vulkan-Headers b/3party/Vulkan-Headers index 084c2624ee..83e1a9ed8c 160000 --- a/3party/Vulkan-Headers +++ b/3party/Vulkan-Headers @@ -1 +1 @@ -Subproject commit 084c2624eed5ed59e33752ecf1205de63263ec9c +Subproject commit 83e1a9ed8ce289cebb1c02c8167d663dc1befb24 diff --git a/3party/vulkan_wrapper/vulkan_wrapper.cpp b/3party/vulkan_wrapper/vulkan_wrapper.cpp index f186c8504e..1c6cc8b39a 100755 --- a/3party/vulkan_wrapper/vulkan_wrapper.cpp +++ b/3party/vulkan_wrapper/vulkan_wrapper.cpp @@ -1,43 +1,58 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +/* + * Copyright 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // This file is generated. +#ifdef __cplusplus +extern "C" { +#endif + #include "vulkan_wrapper.h" #include int InitVulkan(void) { void* libvulkan = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL); - if (!libvulkan) - return 0; + if (!libvulkan) return 0; // Vulkan supported, set function addresses vkCreateInstance = reinterpret_cast(dlsym(libvulkan, "vkCreateInstance")); vkDestroyInstance = reinterpret_cast(dlsym(libvulkan, "vkDestroyInstance")); vkEnumeratePhysicalDevices = reinterpret_cast(dlsym(libvulkan, "vkEnumeratePhysicalDevices")); - vkGetPhysicalDeviceFeatures = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceFeatures")); - vkGetPhysicalDeviceFormatProperties = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceFormatProperties")); - vkGetPhysicalDeviceImageFormatProperties = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceImageFormatProperties")); - vkGetPhysicalDeviceProperties = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceProperties")); - vkGetPhysicalDeviceQueueFamilyProperties = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceQueueFamilyProperties")); - vkGetPhysicalDeviceMemoryProperties = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceMemoryProperties")); + vkGetPhysicalDeviceFeatures = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceFeatures")); + vkGetPhysicalDeviceFormatProperties = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceFormatProperties")); + vkGetPhysicalDeviceImageFormatProperties = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceImageFormatProperties")); + vkGetPhysicalDeviceProperties = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceProperties")); + vkGetPhysicalDeviceQueueFamilyProperties = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceQueueFamilyProperties")); + vkGetPhysicalDeviceMemoryProperties = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceMemoryProperties")); vkGetInstanceProcAddr = reinterpret_cast(dlsym(libvulkan, "vkGetInstanceProcAddr")); vkGetDeviceProcAddr = reinterpret_cast(dlsym(libvulkan, "vkGetDeviceProcAddr")); vkCreateDevice = reinterpret_cast(dlsym(libvulkan, "vkCreateDevice")); vkDestroyDevice = reinterpret_cast(dlsym(libvulkan, "vkDestroyDevice")); - vkEnumerateInstanceExtensionProperties = reinterpret_cast(dlsym(libvulkan, "vkEnumerateInstanceExtensionProperties")); - vkEnumerateDeviceExtensionProperties = reinterpret_cast(dlsym(libvulkan, "vkEnumerateDeviceExtensionProperties")); - vkEnumerateInstanceLayerProperties = reinterpret_cast(dlsym(libvulkan, "vkEnumerateInstanceLayerProperties")); - vkEnumerateDeviceLayerProperties = reinterpret_cast(dlsym(libvulkan, "vkEnumerateDeviceLayerProperties")); + vkEnumerateInstanceExtensionProperties = + reinterpret_cast(dlsym(libvulkan, "vkEnumerateInstanceExtensionProperties")); + vkEnumerateDeviceExtensionProperties = + reinterpret_cast(dlsym(libvulkan, "vkEnumerateDeviceExtensionProperties")); + vkEnumerateInstanceLayerProperties = + reinterpret_cast(dlsym(libvulkan, "vkEnumerateInstanceLayerProperties")); + vkEnumerateDeviceLayerProperties = + reinterpret_cast(dlsym(libvulkan, "vkEnumerateDeviceLayerProperties")); vkGetDeviceQueue = reinterpret_cast(dlsym(libvulkan, "vkGetDeviceQueue")); vkQueueSubmit = reinterpret_cast(dlsym(libvulkan, "vkQueueSubmit")); vkQueueWaitIdle = reinterpret_cast(dlsym(libvulkan, "vkQueueWaitIdle")); @@ -47,14 +62,20 @@ int InitVulkan(void) { vkMapMemory = reinterpret_cast(dlsym(libvulkan, "vkMapMemory")); vkUnmapMemory = reinterpret_cast(dlsym(libvulkan, "vkUnmapMemory")); vkFlushMappedMemoryRanges = reinterpret_cast(dlsym(libvulkan, "vkFlushMappedMemoryRanges")); - vkInvalidateMappedMemoryRanges = reinterpret_cast(dlsym(libvulkan, "vkInvalidateMappedMemoryRanges")); - vkGetDeviceMemoryCommitment = reinterpret_cast(dlsym(libvulkan, "vkGetDeviceMemoryCommitment")); + vkInvalidateMappedMemoryRanges = + reinterpret_cast(dlsym(libvulkan, "vkInvalidateMappedMemoryRanges")); + vkGetDeviceMemoryCommitment = + reinterpret_cast(dlsym(libvulkan, "vkGetDeviceMemoryCommitment")); vkBindBufferMemory = reinterpret_cast(dlsym(libvulkan, "vkBindBufferMemory")); vkBindImageMemory = reinterpret_cast(dlsym(libvulkan, "vkBindImageMemory")); - vkGetBufferMemoryRequirements = reinterpret_cast(dlsym(libvulkan, "vkGetBufferMemoryRequirements")); - vkGetImageMemoryRequirements = reinterpret_cast(dlsym(libvulkan, "vkGetImageMemoryRequirements")); - vkGetImageSparseMemoryRequirements = reinterpret_cast(dlsym(libvulkan, "vkGetImageSparseMemoryRequirements")); - vkGetPhysicalDeviceSparseImageFormatProperties = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceSparseImageFormatProperties")); + vkGetBufferMemoryRequirements = + reinterpret_cast(dlsym(libvulkan, "vkGetBufferMemoryRequirements")); + vkGetImageMemoryRequirements = + reinterpret_cast(dlsym(libvulkan, "vkGetImageMemoryRequirements")); + vkGetImageSparseMemoryRequirements = + reinterpret_cast(dlsym(libvulkan, "vkGetImageSparseMemoryRequirements")); + vkGetPhysicalDeviceSparseImageFormatProperties = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceSparseImageFormatProperties")); vkQueueBindSparse = reinterpret_cast(dlsym(libvulkan, "vkQueueBindSparse")); vkCreateFence = reinterpret_cast(dlsym(libvulkan, "vkCreateFence")); vkDestroyFence = reinterpret_cast(dlsym(libvulkan, "vkDestroyFence")); @@ -77,7 +98,8 @@ int InitVulkan(void) { vkDestroyBufferView = reinterpret_cast(dlsym(libvulkan, "vkDestroyBufferView")); vkCreateImage = reinterpret_cast(dlsym(libvulkan, "vkCreateImage")); vkDestroyImage = reinterpret_cast(dlsym(libvulkan, "vkDestroyImage")); - vkGetImageSubresourceLayout = reinterpret_cast(dlsym(libvulkan, "vkGetImageSubresourceLayout")); + vkGetImageSubresourceLayout = + reinterpret_cast(dlsym(libvulkan, "vkGetImageSubresourceLayout")); vkCreateImageView = reinterpret_cast(dlsym(libvulkan, "vkCreateImageView")); vkDestroyImageView = reinterpret_cast(dlsym(libvulkan, "vkDestroyImageView")); vkCreateShaderModule = reinterpret_cast(dlsym(libvulkan, "vkCreateShaderModule")); @@ -93,8 +115,10 @@ int InitVulkan(void) { vkDestroyPipelineLayout = reinterpret_cast(dlsym(libvulkan, "vkDestroyPipelineLayout")); vkCreateSampler = reinterpret_cast(dlsym(libvulkan, "vkCreateSampler")); vkDestroySampler = reinterpret_cast(dlsym(libvulkan, "vkDestroySampler")); - vkCreateDescriptorSetLayout = reinterpret_cast(dlsym(libvulkan, "vkCreateDescriptorSetLayout")); - vkDestroyDescriptorSetLayout = reinterpret_cast(dlsym(libvulkan, "vkDestroyDescriptorSetLayout")); + vkCreateDescriptorSetLayout = + reinterpret_cast(dlsym(libvulkan, "vkCreateDescriptorSetLayout")); + vkDestroyDescriptorSetLayout = + reinterpret_cast(dlsym(libvulkan, "vkDestroyDescriptorSetLayout")); vkCreateDescriptorPool = reinterpret_cast(dlsym(libvulkan, "vkCreateDescriptorPool")); vkDestroyDescriptorPool = reinterpret_cast(dlsym(libvulkan, "vkDestroyDescriptorPool")); vkResetDescriptorPool = reinterpret_cast(dlsym(libvulkan, "vkResetDescriptorPool")); @@ -141,7 +165,8 @@ int InitVulkan(void) { vkCmdUpdateBuffer = reinterpret_cast(dlsym(libvulkan, "vkCmdUpdateBuffer")); vkCmdFillBuffer = reinterpret_cast(dlsym(libvulkan, "vkCmdFillBuffer")); vkCmdClearColorImage = reinterpret_cast(dlsym(libvulkan, "vkCmdClearColorImage")); - vkCmdClearDepthStencilImage = reinterpret_cast(dlsym(libvulkan, "vkCmdClearDepthStencilImage")); + vkCmdClearDepthStencilImage = + reinterpret_cast(dlsym(libvulkan, "vkCmdClearDepthStencilImage")); vkCmdClearAttachments = reinterpret_cast(dlsym(libvulkan, "vkCmdClearAttachments")); vkCmdResolveImage = reinterpret_cast(dlsym(libvulkan, "vkCmdResolveImage")); vkCmdSetEvent = reinterpret_cast(dlsym(libvulkan, "vkCmdSetEvent")); @@ -158,58 +183,368 @@ int InitVulkan(void) { vkCmdNextSubpass = reinterpret_cast(dlsym(libvulkan, "vkCmdNextSubpass")); vkCmdEndRenderPass = reinterpret_cast(dlsym(libvulkan, "vkCmdEndRenderPass")); vkCmdExecuteCommands = reinterpret_cast(dlsym(libvulkan, "vkCmdExecuteCommands")); + vkEnumerateInstanceVersion = reinterpret_cast(dlsym(libvulkan, "vkEnumerateInstanceVersion")); + vkBindBufferMemory2 = reinterpret_cast(dlsym(libvulkan, "vkBindBufferMemory2")); + vkBindImageMemory2 = reinterpret_cast(dlsym(libvulkan, "vkBindImageMemory2")); + vkGetDeviceGroupPeerMemoryFeatures = + reinterpret_cast(dlsym(libvulkan, "vkGetDeviceGroupPeerMemoryFeatures")); + vkCmdSetDeviceMask = reinterpret_cast(dlsym(libvulkan, "vkCmdSetDeviceMask")); + vkCmdDispatchBase = reinterpret_cast(dlsym(libvulkan, "vkCmdDispatchBase")); + vkEnumeratePhysicalDeviceGroups = + reinterpret_cast(dlsym(libvulkan, "vkEnumeratePhysicalDeviceGroups")); + vkGetImageMemoryRequirements2 = + reinterpret_cast(dlsym(libvulkan, "vkGetImageMemoryRequirements2")); + vkGetBufferMemoryRequirements2 = + reinterpret_cast(dlsym(libvulkan, "vkGetBufferMemoryRequirements2")); + vkGetImageSparseMemoryRequirements2 = + reinterpret_cast(dlsym(libvulkan, "vkGetImageSparseMemoryRequirements2")); + vkGetPhysicalDeviceFeatures2 = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceFeatures2")); + vkGetPhysicalDeviceProperties2 = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceProperties2")); + vkGetPhysicalDeviceFormatProperties2 = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceFormatProperties2")); + vkGetPhysicalDeviceImageFormatProperties2 = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceImageFormatProperties2")); + vkGetPhysicalDeviceQueueFamilyProperties2 = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceQueueFamilyProperties2")); + vkGetPhysicalDeviceMemoryProperties2 = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceMemoryProperties2")); + vkGetPhysicalDeviceSparseImageFormatProperties2 = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceSparseImageFormatProperties2")); + vkTrimCommandPool = reinterpret_cast(dlsym(libvulkan, "vkTrimCommandPool")); + vkGetDeviceQueue2 = reinterpret_cast(dlsym(libvulkan, "vkGetDeviceQueue2")); + vkCreateSamplerYcbcrConversion = + reinterpret_cast(dlsym(libvulkan, "vkCreateSamplerYcbcrConversion")); + vkDestroySamplerYcbcrConversion = + reinterpret_cast(dlsym(libvulkan, "vkDestroySamplerYcbcrConversion")); + vkCreateDescriptorUpdateTemplate = + reinterpret_cast(dlsym(libvulkan, "vkCreateDescriptorUpdateTemplate")); + vkDestroyDescriptorUpdateTemplate = + reinterpret_cast(dlsym(libvulkan, "vkDestroyDescriptorUpdateTemplate")); + vkUpdateDescriptorSetWithTemplate = + reinterpret_cast(dlsym(libvulkan, "vkUpdateDescriptorSetWithTemplate")); + vkGetPhysicalDeviceExternalBufferProperties = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceExternalBufferProperties")); + vkGetPhysicalDeviceExternalFenceProperties = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceExternalFenceProperties")); + vkGetPhysicalDeviceExternalSemaphoreProperties = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceExternalSemaphoreProperties")); + vkGetDescriptorSetLayoutSupport = + reinterpret_cast(dlsym(libvulkan, "vkGetDescriptorSetLayoutSupport")); + vkCmdDrawIndirectCount = reinterpret_cast(dlsym(libvulkan, "vkCmdDrawIndirectCount")); + vkCmdDrawIndexedIndirectCount = + reinterpret_cast(dlsym(libvulkan, "vkCmdDrawIndexedIndirectCount")); + vkCreateRenderPass2 = reinterpret_cast(dlsym(libvulkan, "vkCreateRenderPass2")); + vkCmdBeginRenderPass2 = reinterpret_cast(dlsym(libvulkan, "vkCmdBeginRenderPass2")); + vkCmdNextSubpass2 = reinterpret_cast(dlsym(libvulkan, "vkCmdNextSubpass2")); + vkCmdEndRenderPass2 = reinterpret_cast(dlsym(libvulkan, "vkCmdEndRenderPass2")); + vkResetQueryPool = reinterpret_cast(dlsym(libvulkan, "vkResetQueryPool")); + vkGetSemaphoreCounterValue = reinterpret_cast(dlsym(libvulkan, "vkGetSemaphoreCounterValue")); + vkWaitSemaphores = reinterpret_cast(dlsym(libvulkan, "vkWaitSemaphores")); + vkSignalSemaphore = reinterpret_cast(dlsym(libvulkan, "vkSignalSemaphore")); + vkGetBufferDeviceAddress = reinterpret_cast(dlsym(libvulkan, "vkGetBufferDeviceAddress")); + vkGetBufferOpaqueCaptureAddress = + reinterpret_cast(dlsym(libvulkan, "vkGetBufferOpaqueCaptureAddress")); + vkGetDeviceMemoryOpaqueCaptureAddress = + reinterpret_cast(dlsym(libvulkan, "vkGetDeviceMemoryOpaqueCaptureAddress")); vkDestroySurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkDestroySurfaceKHR")); - vkGetPhysicalDeviceSurfaceSupportKHR = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceSurfaceSupportKHR")); - vkGetPhysicalDeviceSurfaceCapabilitiesKHR = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")); - vkGetPhysicalDeviceSurfaceFormatsKHR = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceSurfaceFormatsKHR")); - vkGetPhysicalDeviceSurfacePresentModesKHR = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceSurfacePresentModesKHR")); + vkGetPhysicalDeviceSurfaceSupportKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceSurfaceSupportKHR")); + vkGetPhysicalDeviceSurfaceCapabilitiesKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")); + vkGetPhysicalDeviceSurfaceFormatsKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceSurfaceFormatsKHR")); + vkGetPhysicalDeviceSurfacePresentModesKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceSurfacePresentModesKHR")); vkCreateSwapchainKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateSwapchainKHR")); vkDestroySwapchainKHR = reinterpret_cast(dlsym(libvulkan, "vkDestroySwapchainKHR")); vkGetSwapchainImagesKHR = reinterpret_cast(dlsym(libvulkan, "vkGetSwapchainImagesKHR")); vkAcquireNextImageKHR = reinterpret_cast(dlsym(libvulkan, "vkAcquireNextImageKHR")); vkQueuePresentKHR = reinterpret_cast(dlsym(libvulkan, "vkQueuePresentKHR")); - vkGetPhysicalDeviceDisplayPropertiesKHR = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceDisplayPropertiesKHR")); - vkGetPhysicalDeviceDisplayPlanePropertiesKHR = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")); - vkGetDisplayPlaneSupportedDisplaysKHR = reinterpret_cast(dlsym(libvulkan, "vkGetDisplayPlaneSupportedDisplaysKHR")); - vkGetDisplayModePropertiesKHR = reinterpret_cast(dlsym(libvulkan, "vkGetDisplayModePropertiesKHR")); + vkGetDeviceGroupPresentCapabilitiesKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDeviceGroupPresentCapabilitiesKHR")); + vkGetDeviceGroupSurfacePresentModesKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDeviceGroupSurfacePresentModesKHR")); + vkGetPhysicalDevicePresentRectanglesKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDevicePresentRectanglesKHR")); + vkAcquireNextImage2KHR = reinterpret_cast(dlsym(libvulkan, "vkAcquireNextImage2KHR")); + vkGetPhysicalDeviceDisplayPropertiesKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceDisplayPropertiesKHR")); + vkGetPhysicalDeviceDisplayPlanePropertiesKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")); + vkGetDisplayPlaneSupportedDisplaysKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDisplayPlaneSupportedDisplaysKHR")); + vkGetDisplayModePropertiesKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDisplayModePropertiesKHR")); vkCreateDisplayModeKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateDisplayModeKHR")); - vkGetDisplayPlaneCapabilitiesKHR = reinterpret_cast(dlsym(libvulkan, "vkGetDisplayPlaneCapabilitiesKHR")); - vkCreateDisplayPlaneSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateDisplayPlaneSurfaceKHR")); - vkCreateSharedSwapchainsKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateSharedSwapchainsKHR")); - -#ifdef VK_USE_PLATFORM_XLIB_KHR - vkCreateXlibSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateXlibSurfaceKHR")); - vkGetPhysicalDeviceXlibPresentationSupportKHR = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceXlibPresentationSupportKHR")); -#endif - -#ifdef VK_USE_PLATFORM_XCB_KHR - vkCreateXcbSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateXcbSurfaceKHR")); - vkGetPhysicalDeviceXcbPresentationSupportKHR = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceXcbPresentationSupportKHR")); -#endif - -#ifdef VK_USE_PLATFORM_WAYLAND_KHR - vkCreateWaylandSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateWaylandSurfaceKHR")); - vkGetPhysicalDeviceWaylandPresentationSupportKHR = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceWaylandPresentationSupportKHR")); -#endif - -#ifdef VK_USE_PLATFORM_MIR_KHR - vkCreateMirSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateMirSurfaceKHR")); - vkGetPhysicalDeviceMirPresentationSupportKHR = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceMirPresentationSupportKHR")); -#endif + vkGetDisplayPlaneCapabilitiesKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDisplayPlaneCapabilitiesKHR")); + vkCreateDisplayPlaneSurfaceKHR = + reinterpret_cast(dlsym(libvulkan, "vkCreateDisplayPlaneSurfaceKHR")); + vkCreateSharedSwapchainsKHR = + reinterpret_cast(dlsym(libvulkan, "vkCreateSharedSwapchainsKHR")); + vkCmdBeginRenderingKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdBeginRenderingKHR")); + vkCmdEndRenderingKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdEndRenderingKHR")); + vkGetPhysicalDeviceFeatures2KHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceFeatures2KHR")); + vkGetPhysicalDeviceProperties2KHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceProperties2KHR")); + vkGetPhysicalDeviceFormatProperties2KHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceFormatProperties2KHR")); + vkGetPhysicalDeviceImageFormatProperties2KHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceImageFormatProperties2KHR")); + vkGetPhysicalDeviceQueueFamilyProperties2KHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceQueueFamilyProperties2KHR")); + vkGetPhysicalDeviceMemoryProperties2KHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceMemoryProperties2KHR")); + vkGetPhysicalDeviceSparseImageFormatProperties2KHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR")); + vkGetDeviceGroupPeerMemoryFeaturesKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDeviceGroupPeerMemoryFeaturesKHR")); + vkCmdSetDeviceMaskKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdSetDeviceMaskKHR")); + vkCmdDispatchBaseKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdDispatchBaseKHR")); + vkTrimCommandPoolKHR = reinterpret_cast(dlsym(libvulkan, "vkTrimCommandPoolKHR")); + vkEnumeratePhysicalDeviceGroupsKHR = + reinterpret_cast(dlsym(libvulkan, "vkEnumeratePhysicalDeviceGroupsKHR")); + vkGetPhysicalDeviceExternalBufferPropertiesKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceExternalBufferPropertiesKHR")); + vkGetMemoryFdKHR = reinterpret_cast(dlsym(libvulkan, "vkGetMemoryFdKHR")); + vkGetMemoryFdPropertiesKHR = reinterpret_cast(dlsym(libvulkan, "vkGetMemoryFdPropertiesKHR")); + vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR")); + vkImportSemaphoreFdKHR = reinterpret_cast(dlsym(libvulkan, "vkImportSemaphoreFdKHR")); + vkGetSemaphoreFdKHR = reinterpret_cast(dlsym(libvulkan, "vkGetSemaphoreFdKHR")); + vkCmdPushDescriptorSetKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdPushDescriptorSetKHR")); + vkCmdPushDescriptorSetWithTemplateKHR = + reinterpret_cast(dlsym(libvulkan, "vkCmdPushDescriptorSetWithTemplateKHR")); + vkCreateDescriptorUpdateTemplateKHR = + reinterpret_cast(dlsym(libvulkan, "vkCreateDescriptorUpdateTemplateKHR")); + vkDestroyDescriptorUpdateTemplateKHR = + reinterpret_cast(dlsym(libvulkan, "vkDestroyDescriptorUpdateTemplateKHR")); + vkUpdateDescriptorSetWithTemplateKHR = + reinterpret_cast(dlsym(libvulkan, "vkUpdateDescriptorSetWithTemplateKHR")); + vkCreateRenderPass2KHR = reinterpret_cast(dlsym(libvulkan, "vkCreateRenderPass2KHR")); + vkCmdBeginRenderPass2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdBeginRenderPass2KHR")); + vkCmdNextSubpass2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdNextSubpass2KHR")); + vkCmdEndRenderPass2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdEndRenderPass2KHR")); + vkGetSwapchainStatusKHR = reinterpret_cast(dlsym(libvulkan, "vkGetSwapchainStatusKHR")); + vkGetPhysicalDeviceExternalFencePropertiesKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceExternalFencePropertiesKHR")); + vkImportFenceFdKHR = reinterpret_cast(dlsym(libvulkan, "vkImportFenceFdKHR")); + vkGetFenceFdKHR = reinterpret_cast(dlsym(libvulkan, "vkGetFenceFdKHR")); + vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = + reinterpret_cast( + dlsym(libvulkan, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")); + vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = + reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")); + vkAcquireProfilingLockKHR = reinterpret_cast(dlsym(libvulkan, "vkAcquireProfilingLockKHR")); + vkReleaseProfilingLockKHR = reinterpret_cast(dlsym(libvulkan, "vkReleaseProfilingLockKHR")); + vkGetPhysicalDeviceSurfaceCapabilities2KHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceSurfaceCapabilities2KHR")); + vkGetPhysicalDeviceSurfaceFormats2KHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceSurfaceFormats2KHR")); + vkGetPhysicalDeviceDisplayProperties2KHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceDisplayProperties2KHR")); + vkGetPhysicalDeviceDisplayPlaneProperties2KHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")); + vkGetDisplayModeProperties2KHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDisplayModeProperties2KHR")); + vkGetDisplayPlaneCapabilities2KHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDisplayPlaneCapabilities2KHR")); + vkGetImageMemoryRequirements2KHR = + reinterpret_cast(dlsym(libvulkan, "vkGetImageMemoryRequirements2KHR")); + vkGetBufferMemoryRequirements2KHR = + reinterpret_cast(dlsym(libvulkan, "vkGetBufferMemoryRequirements2KHR")); + vkGetImageSparseMemoryRequirements2KHR = + reinterpret_cast(dlsym(libvulkan, "vkGetImageSparseMemoryRequirements2KHR")); + vkCreateSamplerYcbcrConversionKHR = + reinterpret_cast(dlsym(libvulkan, "vkCreateSamplerYcbcrConversionKHR")); + vkDestroySamplerYcbcrConversionKHR = + reinterpret_cast(dlsym(libvulkan, "vkDestroySamplerYcbcrConversionKHR")); + vkBindBufferMemory2KHR = reinterpret_cast(dlsym(libvulkan, "vkBindBufferMemory2KHR")); + vkBindImageMemory2KHR = reinterpret_cast(dlsym(libvulkan, "vkBindImageMemory2KHR")); + vkGetDescriptorSetLayoutSupportKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDescriptorSetLayoutSupportKHR")); + vkCmdDrawIndirectCountKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdDrawIndirectCountKHR")); + vkCmdDrawIndexedIndirectCountKHR = + reinterpret_cast(dlsym(libvulkan, "vkCmdDrawIndexedIndirectCountKHR")); + vkGetSemaphoreCounterValueKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetSemaphoreCounterValueKHR")); + vkWaitSemaphoresKHR = reinterpret_cast(dlsym(libvulkan, "vkWaitSemaphoresKHR")); + vkSignalSemaphoreKHR = reinterpret_cast(dlsym(libvulkan, "vkSignalSemaphoreKHR")); + vkGetPhysicalDeviceFragmentShadingRatesKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceFragmentShadingRatesKHR")); + vkCmdSetFragmentShadingRateKHR = + reinterpret_cast(dlsym(libvulkan, "vkCmdSetFragmentShadingRateKHR")); + vkWaitForPresentKHR = reinterpret_cast(dlsym(libvulkan, "vkWaitForPresentKHR")); + vkGetBufferDeviceAddressKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetBufferDeviceAddressKHR")); + vkGetBufferOpaqueCaptureAddressKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetBufferOpaqueCaptureAddressKHR")); + vkGetDeviceMemoryOpaqueCaptureAddressKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")); + vkCreateDeferredOperationKHR = + reinterpret_cast(dlsym(libvulkan, "vkCreateDeferredOperationKHR")); + vkDestroyDeferredOperationKHR = + reinterpret_cast(dlsym(libvulkan, "vkDestroyDeferredOperationKHR")); + vkGetDeferredOperationMaxConcurrencyKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDeferredOperationMaxConcurrencyKHR")); + vkGetDeferredOperationResultKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDeferredOperationResultKHR")); + vkDeferredOperationJoinKHR = reinterpret_cast(dlsym(libvulkan, "vkDeferredOperationJoinKHR")); + vkGetPipelineExecutablePropertiesKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPipelineExecutablePropertiesKHR")); + vkGetPipelineExecutableStatisticsKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPipelineExecutableStatisticsKHR")); + vkGetPipelineExecutableInternalRepresentationsKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPipelineExecutableInternalRepresentationsKHR")); + vkCmdSetEvent2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdSetEvent2KHR")); + vkCmdResetEvent2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdResetEvent2KHR")); + vkCmdWaitEvents2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdWaitEvents2KHR")); + vkCmdPipelineBarrier2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdPipelineBarrier2KHR")); + vkCmdWriteTimestamp2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdWriteTimestamp2KHR")); + vkQueueSubmit2KHR = reinterpret_cast(dlsym(libvulkan, "vkQueueSubmit2KHR")); + vkCmdWriteBufferMarker2AMD = reinterpret_cast(dlsym(libvulkan, "vkCmdWriteBufferMarker2AMD")); + vkGetQueueCheckpointData2NV = + reinterpret_cast(dlsym(libvulkan, "vkGetQueueCheckpointData2NV")); + vkCmdCopyBuffer2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdCopyBuffer2KHR")); + vkCmdCopyImage2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdCopyImage2KHR")); + vkCmdCopyBufferToImage2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdCopyBufferToImage2KHR")); + vkCmdCopyImageToBuffer2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdCopyImageToBuffer2KHR")); + vkCmdBlitImage2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdBlitImage2KHR")); + vkCmdResolveImage2KHR = reinterpret_cast(dlsym(libvulkan, "vkCmdResolveImage2KHR")); + vkGetDeviceBufferMemoryRequirementsKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDeviceBufferMemoryRequirementsKHR")); + vkGetDeviceImageMemoryRequirementsKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetDeviceImageMemoryRequirementsKHR")); + vkGetDeviceImageSparseMemoryRequirementsKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetDeviceImageSparseMemoryRequirementsKHR")); + vkCreateAccelerationStructureKHR = + reinterpret_cast(dlsym(libvulkan, "vkCreateAccelerationStructureKHR")); + vkDestroyAccelerationStructureKHR = + reinterpret_cast(dlsym(libvulkan, "vkDestroyAccelerationStructureKHR")); + vkCmdBuildAccelerationStructuresKHR = + reinterpret_cast(dlsym(libvulkan, "vkCmdBuildAccelerationStructuresKHR")); + vkCmdBuildAccelerationStructuresIndirectKHR = reinterpret_cast( + dlsym(libvulkan, "vkCmdBuildAccelerationStructuresIndirectKHR")); + vkBuildAccelerationStructuresKHR = + reinterpret_cast(dlsym(libvulkan, "vkBuildAccelerationStructuresKHR")); + vkCopyAccelerationStructureKHR = + reinterpret_cast(dlsym(libvulkan, "vkCopyAccelerationStructureKHR")); + vkCopyAccelerationStructureToMemoryKHR = + reinterpret_cast(dlsym(libvulkan, "vkCopyAccelerationStructureToMemoryKHR")); + vkCopyMemoryToAccelerationStructureKHR = + reinterpret_cast(dlsym(libvulkan, "vkCopyMemoryToAccelerationStructureKHR")); + vkWriteAccelerationStructuresPropertiesKHR = reinterpret_cast( + dlsym(libvulkan, "vkWriteAccelerationStructuresPropertiesKHR")); + vkCmdCopyAccelerationStructureKHR = + reinterpret_cast(dlsym(libvulkan, "vkCmdCopyAccelerationStructureKHR")); + vkCmdCopyAccelerationStructureToMemoryKHR = reinterpret_cast( + dlsym(libvulkan, "vkCmdCopyAccelerationStructureToMemoryKHR")); + vkCmdCopyMemoryToAccelerationStructureKHR = reinterpret_cast( + dlsym(libvulkan, "vkCmdCopyMemoryToAccelerationStructureKHR")); + vkGetAccelerationStructureDeviceAddressKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetAccelerationStructureDeviceAddressKHR")); + vkCmdWriteAccelerationStructuresPropertiesKHR = reinterpret_cast( + dlsym(libvulkan, "vkCmdWriteAccelerationStructuresPropertiesKHR")); + vkGetDeviceAccelerationStructureCompatibilityKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetDeviceAccelerationStructureCompatibilityKHR")); + vkGetAccelerationStructureBuildSizesKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetAccelerationStructureBuildSizesKHR")); + vkCmdTraceRaysKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdTraceRaysKHR")); + vkCreateRayTracingPipelinesKHR = + reinterpret_cast(dlsym(libvulkan, "vkCreateRayTracingPipelinesKHR")); + vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")); + vkCmdTraceRaysIndirectKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdTraceRaysIndirectKHR")); + vkGetRayTracingShaderGroupStackSizeKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetRayTracingShaderGroupStackSizeKHR")); + vkCmdSetRayTracingPipelineStackSizeKHR = + reinterpret_cast(dlsym(libvulkan, "vkCmdSetRayTracingPipelineStackSizeKHR")); #ifdef VK_USE_PLATFORM_ANDROID_KHR vkCreateAndroidSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateAndroidSurfaceKHR")); #endif +#ifdef VK_USE_PLATFORM_WAYLAND_KHR + vkCreateWaylandSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateWaylandSurfaceKHR")); + vkGetPhysicalDeviceWaylandPresentationSupportKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceWaylandPresentationSupportKHR")); +#endif + #ifdef VK_USE_PLATFORM_WIN32_KHR vkCreateWin32SurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateWin32SurfaceKHR")); - vkGetPhysicalDeviceWin32PresentationSupportKHR = reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceWin32PresentationSupportKHR")); + vkGetPhysicalDeviceWin32PresentationSupportKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceWin32PresentationSupportKHR")); #endif -#ifdef USE_DEBUG_EXTENTIONS + +#ifdef VK_USE_PLATFORM_WIN32_KHR + vkGetMemoryWin32HandleKHR = reinterpret_cast(dlsym(libvulkan, "vkGetMemoryWin32HandleKHR")); + vkGetMemoryWin32HandlePropertiesKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetMemoryWin32HandlePropertiesKHR")); +#endif + +#ifdef VK_USE_PLATFORM_WIN32_KHR + vkImportSemaphoreWin32HandleKHR = + reinterpret_cast(dlsym(libvulkan, "vkImportSemaphoreWin32HandleKHR")); + vkGetSemaphoreWin32HandleKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetSemaphoreWin32HandleKHR")); +#endif + +#ifdef VK_USE_PLATFORM_WIN32_KHR + vkImportFenceWin32HandleKHR = + reinterpret_cast(dlsym(libvulkan, "vkImportFenceWin32HandleKHR")); + vkGetFenceWin32HandleKHR = reinterpret_cast(dlsym(libvulkan, "vkGetFenceWin32HandleKHR")); +#endif + +#ifdef VK_USE_PLATFORM_XCB_KHR + vkCreateXcbSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateXcbSurfaceKHR")); + vkGetPhysicalDeviceXcbPresentationSupportKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceXcbPresentationSupportKHR")); +#endif + +#ifdef VK_USE_PLATFORM_XLIB_KHR + vkCreateXlibSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateXlibSurfaceKHR")); + vkGetPhysicalDeviceXlibPresentationSupportKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceXlibPresentationSupportKHR")); +#endif + +#ifdef VK_ENABLE_BETA_EXTENSIONS + vkGetPhysicalDeviceVideoCapabilitiesKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceVideoCapabilitiesKHR")); + vkGetPhysicalDeviceVideoFormatPropertiesKHR = reinterpret_cast( + dlsym(libvulkan, "vkGetPhysicalDeviceVideoFormatPropertiesKHR")); + vkCreateVideoSessionKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateVideoSessionKHR")); + vkDestroyVideoSessionKHR = reinterpret_cast(dlsym(libvulkan, "vkDestroyVideoSessionKHR")); + vkGetVideoSessionMemoryRequirementsKHR = + reinterpret_cast(dlsym(libvulkan, "vkGetVideoSessionMemoryRequirementsKHR")); + vkBindVideoSessionMemoryKHR = + reinterpret_cast(dlsym(libvulkan, "vkBindVideoSessionMemoryKHR")); + vkCreateVideoSessionParametersKHR = + reinterpret_cast(dlsym(libvulkan, "vkCreateVideoSessionParametersKHR")); + vkUpdateVideoSessionParametersKHR = + reinterpret_cast(dlsym(libvulkan, "vkUpdateVideoSessionParametersKHR")); + vkDestroyVideoSessionParametersKHR = + reinterpret_cast(dlsym(libvulkan, "vkDestroyVideoSessionParametersKHR")); + vkCmdBeginVideoCodingKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdBeginVideoCodingKHR")); + vkCmdEndVideoCodingKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdEndVideoCodingKHR")); + vkCmdControlVideoCodingKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdControlVideoCodingKHR")); +#endif + +#ifdef VK_ENABLE_BETA_EXTENSIONS + vkCmdDecodeVideoKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdDecodeVideoKHR")); +#endif + +#ifdef VK_ENABLE_BETA_EXTENSIONS + vkCmdEncodeVideoKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdEncodeVideoKHR")); +#endif + vkCreateDebugReportCallbackEXT = reinterpret_cast(dlsym(libvulkan, "vkCreateDebugReportCallbackEXT")); vkDestroyDebugReportCallbackEXT = reinterpret_cast(dlsym(libvulkan, "vkDestroyDebugReportCallbackEXT")); vkDebugReportMessageEXT = reinterpret_cast(dlsym(libvulkan, "vkDebugReportMessageEXT")); -#endif + return 1; } @@ -351,6 +686,47 @@ PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; PFN_vkCmdNextSubpass vkCmdNextSubpass; PFN_vkCmdEndRenderPass vkCmdEndRenderPass; PFN_vkCmdExecuteCommands vkCmdExecuteCommands; +PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion; +PFN_vkBindBufferMemory2 vkBindBufferMemory2; +PFN_vkBindImageMemory2 vkBindImageMemory2; +PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; +PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; +PFN_vkCmdDispatchBase vkCmdDispatchBase; +PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups; +PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; +PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; +PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; +PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; +PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2; +PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2; +PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2; +PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2; +PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2; +PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2; +PFN_vkTrimCommandPool vkTrimCommandPool; +PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; +PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; +PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; +PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; +PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; +PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; +PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties; +PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties; +PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties; +PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; +PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; +PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; +PFN_vkCreateRenderPass2 vkCreateRenderPass2; +PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2; +PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; +PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2; +PFN_vkResetQueryPool vkResetQueryPool; +PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue; +PFN_vkWaitSemaphores vkWaitSemaphores; +PFN_vkSignalSemaphore vkSignalSemaphore; +PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress; +PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress; +PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress; PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; @@ -361,6 +737,10 @@ PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; PFN_vkQueuePresentKHR vkQueuePresentKHR; +PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; +PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; +PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR; +PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR; PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR; PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR; @@ -369,15 +749,302 @@ PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR; PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR; PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR; PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; +PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR; +PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR; +PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; +PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; +PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR; +PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR; +PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR; +PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR; +PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR; +PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; +PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR; +PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; +PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; +PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR; +PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR; +PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; +PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; +PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; +PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; +PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; +PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; +PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; +PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; +PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; +PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; +PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR; +PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR; +PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR; +PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR; +PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; +PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR; +PFN_vkImportFenceFdKHR vkImportFenceFdKHR; +PFN_vkGetFenceFdKHR vkGetFenceFdKHR; +PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR; +PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR; +PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR; +PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR; +PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR; +PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR; +PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR; +PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR; +PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR; +PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR; +PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; +PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; +PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; +PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; +PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; +PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; +PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; +PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; +PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR; +PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR; +PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR; +PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR; +PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; +PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR; +PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; +PFN_vkWaitForPresentKHR vkWaitForPresentKHR; +PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; +PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; +PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; +PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR; +PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR; +PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR; +PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR; +PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR; +PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR; +PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR; +PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR; +PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR; +PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR; +PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR; +PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR; +PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR; +PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR; +PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; +PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV; +PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR; +PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR; +PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR; +PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR; +PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR; +PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR; +PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR; +PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR; +PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR; +PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; +PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; +PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; +PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT; +PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT; +PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT; +PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT; +PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT; +PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; +PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; +PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; +PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT; +PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT; +PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; +PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX; +PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX; +PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX; +PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX; +PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX; +PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX; +PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX; +PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD; +PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD; +PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD; +PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV; +PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT; +PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT; +PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV; +PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT; +PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT; +PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT; +PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT; +PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT; +PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT; +PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE; +PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE; +PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT; +PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT; +PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT; +PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT; +PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT; +PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT; +PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT; +PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; +PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT; +PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT; +PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT; +PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT; +PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT; +PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT; +PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT; +PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT; +PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT; +PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT; +PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT; +PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT; +PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV; +PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV; +PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV; +PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV; +PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV; +PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV; +PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV; +PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV; +PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV; +PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV; +PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV; +PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR; +PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV; +PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV; +PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV; +PFN_vkCompileDeferredNV vkCompileDeferredNV; +PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; +PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD; +PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT; +PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT; +PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV; +PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV; +PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV; +PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV; +PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV; +PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV; +PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL; +PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL; +PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL; +PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL; +PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL; +PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL; +PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL; +PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL; +PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL; +PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD; +PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT; +PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT; +PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV; +PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV + vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV; +PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT; +PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT; +PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT; +PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT; +PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT; +PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT; +PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT; +PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT; +PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT; +PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT; +PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT; +PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT; +PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT; +PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT; +PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT; +PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV; +PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV; +PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; +PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV; +PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV; +PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV; +PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT; +PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT; +PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; +PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; +PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT; +PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT; +PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV; +PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV; +PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV; +PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; +PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; +PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; +PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI; +PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV; +PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; +PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; +PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT; +PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT; +PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT; +PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT; +PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT; +PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT; +PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT; +PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; +PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR; +PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR; +PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR; +PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR; +PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR; +PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR; +PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR; +PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR; +PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR; +PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR; +PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR; +PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR; +PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR; +PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR; +PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR; +PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; +PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR; +PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR; +PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; +PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; +PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; -#ifdef VK_USE_PLATFORM_XLIB_KHR -PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; -PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; +#ifdef VK_USE_PLATFORM_ANDROID_KHR +PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; #endif -#ifdef VK_USE_PLATFORM_XCB_KHR -PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; -PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; +#ifdef VK_USE_PLATFORM_ANDROID_KHR +PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID; +PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID; +#endif + +#ifdef VK_USE_PLATFORM_FUCHSIA +PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA; +#endif + +#ifdef VK_USE_PLATFORM_FUCHSIA +PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA; +PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA; +#endif + +#ifdef VK_USE_PLATFORM_FUCHSIA +PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA; +PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA; +#endif + +#ifdef VK_USE_PLATFORM_FUCHSIA +PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA; +PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA; +PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA; +PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA; +PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA; +#endif + +#ifdef VK_USE_PLATFORM_IOS_MVK +PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK; +#endif + +#ifdef VK_USE_PLATFORM_MACOS_MVK +PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK; +#endif + +#ifdef VK_USE_PLATFORM_METAL_EXT +PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT; +#endif + +#ifdef VK_USE_PLATFORM_VI_NN +PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN; #endif #ifdef VK_USE_PLATFORM_WAYLAND_KHR @@ -385,20 +1052,89 @@ PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR; PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR; #endif -#ifdef VK_USE_PLATFORM_MIR_KHR -PFN_vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR; -PFN_vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR; -#endif - -#ifdef VK_USE_PLATFORM_ANDROID_KHR -PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; -#endif - #ifdef VK_USE_PLATFORM_WIN32_KHR PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR; #endif -PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; -PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; -PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; +#ifdef VK_USE_PLATFORM_WIN32_KHR +PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; +PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; +#endif + +#ifdef VK_USE_PLATFORM_WIN32_KHR +PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; +PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; +#endif + +#ifdef VK_USE_PLATFORM_WIN32_KHR +PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR; +PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR; +#endif + +#ifdef VK_USE_PLATFORM_WIN32_KHR +PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV; +#endif + +#ifdef VK_USE_PLATFORM_WIN32_KHR +PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT; +PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT; +PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT; +PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT; +#endif + +#ifdef VK_USE_PLATFORM_XCB_KHR +PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; +PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; +#endif + +#ifdef VK_USE_PLATFORM_XLIB_KHR +PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; +PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; +#endif + +#ifdef VK_USE_PLATFORM_DIRECTFB_EXT +PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT; +PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT; +#endif + +#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT +PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT; +PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT; +#endif + +#ifdef VK_USE_PLATFORM_GGP +PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP; +#endif + +#ifdef VK_USE_PLATFORM_SCREEN_QNX +PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX; +PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX; +#endif + +#ifdef VK_ENABLE_BETA_EXTENSIONS +PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR; +PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR; +PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR; +PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR; +PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR; +PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR; +PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR; +PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR; +PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR; +PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR; +PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR; +PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR; +#endif + +#ifdef VK_ENABLE_BETA_EXTENSIONS +PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR; +#endif + +#ifdef VK_ENABLE_BETA_EXTENSIONS +PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR; +#endif + +#ifdef __cplusplus +} +#endif diff --git a/3party/vulkan_wrapper/vulkan_wrapper.h b/3party/vulkan_wrapper/vulkan_wrapper.h index 09d7d54a81..79f1105b44 100755 --- a/3party/vulkan_wrapper/vulkan_wrapper.h +++ b/3party/vulkan_wrapper/vulkan_wrapper.h @@ -1,24 +1,28 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - +/* + * Copyright 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ // This file is generated. #ifndef VULKAN_WRAPPER_H #define VULKAN_WRAPPER_H +#ifdef __cplusplus +extern "C" { +#endif + #define VK_NO_PROTOTYPES 1 #define VK_USE_PLATFORM_ANDROID_KHR 1 -#define USE_DEBUG_EXTENTIONS 1 #include /* Initialize the Vulkan function pointer variables declared in this header. @@ -26,7 +30,7 @@ */ int InitVulkan(void); -// VK_core +// VK_core_0 extern PFN_vkCreateInstance vkCreateInstance; extern PFN_vkDestroyInstance vkDestroyInstance; extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; @@ -165,6 +169,51 @@ extern PFN_vkCmdNextSubpass vkCmdNextSubpass; extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass; extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands; +// VK_core_1 +extern PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion; +extern PFN_vkBindBufferMemory2 vkBindBufferMemory2; +extern PFN_vkBindImageMemory2 vkBindImageMemory2; +extern PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; +extern PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; +extern PFN_vkCmdDispatchBase vkCmdDispatchBase; +extern PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups; +extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; +extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; +extern PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; +extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; +extern PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2; +extern PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2; +extern PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2; +extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2; +extern PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2; +extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2; +extern PFN_vkTrimCommandPool vkTrimCommandPool; +extern PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; +extern PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; +extern PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; +extern PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; +extern PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; +extern PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; +extern PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties; +extern PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties; +extern PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties; +extern PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; + +// VK_core_2 +extern PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; +extern PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; +extern PFN_vkCreateRenderPass2 vkCreateRenderPass2; +extern PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2; +extern PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; +extern PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2; +extern PFN_vkResetQueryPool vkResetQueryPool; +extern PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue; +extern PFN_vkWaitSemaphores vkWaitSemaphores; +extern PFN_vkSignalSemaphore vkSignalSemaphore; +extern PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress; +extern PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress; +extern PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress; + // VK_KHR_surface extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; @@ -178,6 +227,10 @@ extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; extern PFN_vkQueuePresentKHR vkQueuePresentKHR; +extern PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; +extern PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; +extern PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR; +extern PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; // VK_KHR_display extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR; @@ -191,16 +244,187 @@ extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR; // VK_KHR_display_swapchain extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; -#ifdef VK_USE_PLATFORM_XLIB_KHR -// VK_KHR_xlib_surface -extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; -extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; -#endif +// VK_KHR_dynamic_rendering +extern PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR; +extern PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR; -#ifdef VK_USE_PLATFORM_XCB_KHR -// VK_KHR_xcb_surface -extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; -extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; +// VK_KHR_get_physical_device_properties2 +extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; +extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; +extern PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR; +extern PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR; +extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR; +extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR; +extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR; + +// VK_KHR_device_group +extern PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; +extern PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR; +extern PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; + +// VK_KHR_maintenance1 +extern PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; + +// VK_KHR_device_group_creation +extern PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR; + +// VK_KHR_external_memory_capabilities +extern PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR; + +// VK_KHR_external_memory_fd +extern PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; +extern PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; + +// VK_KHR_external_semaphore_capabilities +extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; + +// VK_KHR_external_semaphore_fd +extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; +extern PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; + +// VK_KHR_push_descriptor +extern PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; +extern PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; + +// VK_KHR_descriptor_update_template +extern PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; +extern PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; +extern PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; + +// VK_KHR_create_renderpass2 +extern PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR; +extern PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR; +extern PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR; +extern PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR; + +// VK_KHR_shared_presentable_image +extern PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; + +// VK_KHR_external_fence_capabilities +extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR; + +// VK_KHR_external_fence_fd +extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR; +extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR; + +// VK_KHR_performance_query +extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR + vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR; +extern PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR; +extern PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR; +extern PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR; + +// VK_KHR_get_surface_capabilities2 +extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR; +extern PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR; + +// VK_KHR_get_display_properties2 +extern PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR; +extern PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR; +extern PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR; +extern PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR; + +// VK_KHR_get_memory_requirements2 +extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; +extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; +extern PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; + +// VK_KHR_sampler_ycbcr_conversion +extern PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; +extern PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; + +// VK_KHR_bind_memory2 +extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; +extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; + +// VK_KHR_maintenance3 +extern PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; + +// VK_KHR_draw_indirect_count +extern PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR; +extern PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR; + +// VK_KHR_timeline_semaphore +extern PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR; +extern PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR; +extern PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; + +// VK_KHR_fragment_shading_rate +extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR; +extern PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; + +// VK_KHR_present_wait +extern PFN_vkWaitForPresentKHR vkWaitForPresentKHR; + +// VK_KHR_buffer_device_address +extern PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; +extern PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; +extern PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; + +// VK_KHR_deferred_host_operations +extern PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR; +extern PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR; +extern PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR; +extern PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR; +extern PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR; + +// VK_KHR_pipeline_executable_properties +extern PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR; +extern PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR; +extern PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR; + +// VK_KHR_synchronization2 +extern PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR; +extern PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR; +extern PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR; +extern PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR; +extern PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR; +extern PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR; +extern PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; +extern PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV; + +// VK_KHR_copy_commands2 +extern PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR; +extern PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR; +extern PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR; +extern PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR; +extern PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR; +extern PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR; + +// VK_KHR_maintenance4 +extern PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR; +extern PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR; +extern PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR; + +// VK_KHR_acceleration_structure +extern PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; +extern PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR; +extern PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR; +extern PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR; +extern PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR; +extern PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR; +extern PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR; +extern PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR; +extern PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR; +extern PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR; +extern PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR; +extern PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR; +extern PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR; +extern PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR; +extern PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR; +extern PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR; + +// VK_KHR_ray_tracing_pipeline +extern PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; +extern PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR; +extern PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR; +extern PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; +extern PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; +extern PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; + +#ifdef VK_USE_PLATFORM_ANDROID_KHR +// VK_KHR_android_surface +extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; #endif #ifdef VK_USE_PLATFORM_WAYLAND_KHR @@ -209,30 +433,75 @@ extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR; extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR; #endif -#ifdef VK_USE_PLATFORM_MIR_KHR -// VK_KHR_mir_surface -extern PFN_vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR; -extern PFN_vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR; -#endif - -#ifdef VK_USE_PLATFORM_ANDROID_KHR -// VK_KHR_android_surface -extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; -#endif - #ifdef VK_USE_PLATFORM_WIN32_KHR // VK_KHR_win32_surface extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR; #endif -#ifdef USE_DEBUG_EXTENTIONS -#include +#ifdef VK_USE_PLATFORM_WIN32_KHR +// VK_KHR_external_memory_win32 +extern PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; +extern PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; +#endif + +#ifdef VK_USE_PLATFORM_WIN32_KHR +// VK_KHR_external_semaphore_win32 +extern PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; +extern PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; +#endif + +#ifdef VK_USE_PLATFORM_WIN32_KHR +// VK_KHR_external_fence_win32 +extern PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR; +extern PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR; +#endif + +#ifdef VK_USE_PLATFORM_XCB_KHR +// VK_KHR_xcb_surface +extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; +extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; +#endif + +#ifdef VK_USE_PLATFORM_XLIB_KHR +// VK_KHR_xlib_surface +extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; +extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; +#endif + +#ifdef VK_ENABLE_BETA_EXTENSIONS +// VK_KHR_video_queue +extern PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR; +extern PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR; +extern PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR; +extern PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR; +extern PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR; +extern PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR; +extern PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR; +extern PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR; +extern PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR; +extern PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR; +extern PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR; +extern PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR; +#endif + +#ifdef VK_ENABLE_BETA_EXTENSIONS +// VK_KHR_video_decode_queue +extern PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR; +#endif + +#ifdef VK_ENABLE_BETA_EXTENSIONS +// VK_KHR_video_encode_queue +extern PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR; +#endif + // VK_EXT_debug_report extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; + +#ifdef __cplusplus +} #endif - -#endif // VULKAN_WRAPPER_H +#endif // VULKAN_WRAPPER_H diff --git a/android/jni/com/mapswithme/vulkan/android_vulkan_context_factory.hpp b/android/jni/com/mapswithme/vulkan/android_vulkan_context_factory.hpp index 6f88d6fab7..911806054b 100644 --- a/android/jni/com/mapswithme/vulkan/android_vulkan_context_factory.hpp +++ b/android/jni/com/mapswithme/vulkan/android_vulkan_context_factory.hpp @@ -10,6 +10,7 @@ #include #include +#include #include #include diff --git a/drape/vulkan/vulkan_layers.cpp b/drape/vulkan/vulkan_layers.cpp index 556be4a1fa..211a7c36cf 100755 --- a/drape/vulkan/vulkan_layers.cpp +++ b/drape/vulkan/vulkan_layers.cpp @@ -115,17 +115,17 @@ std::string GetReportObjectTypeString(VkDebugReportObjectTypeEXT objectType) return "DEBUG_REPORT_CALLBACK_EXT"; case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT: return "DISPLAY_KHR"; case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT: return "DISPLAY_MODE_KHR"; - case VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT: return "OBJECT_TABLE_NVX"; - case VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT: - return "INDIRECT_COMMANDS_LAYOUT_NVX"; case VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT: return "VALIDATION_CACHE_EXT"; case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT: return "SAMPLER_YCBCR_CONVERSION"; case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT: return "DESCRIPTOR_UPDATE_TEMPLATE"; case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT: return "ACCELERATION_STRUCTURE_NV"; - case VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT: return "RANGE_SIZE"; case VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT: return "MAX_ENUM"; + case VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT: return "CU_MODULE_NVX"; + case VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT: return "CU_FUNCTION_NVX"; + case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT: return "ACCELERATION_STRUCTURE_KHR"; + case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT: return "BUFFER_COLLECTION_FUCHSIA"; } UNREACHABLE(); return {}; diff --git a/drape/vulkan/vulkan_utils.cpp b/drape/vulkan/vulkan_utils.cpp index 02062cfbb8..a50c23dce5 100644 --- a/drape/vulkan/vulkan_utils.cpp +++ b/drape/vulkan/vulkan_utils.cpp @@ -50,8 +50,15 @@ std::string GetVulkanResultString(VkResult result) case VK_ERROR_NOT_PERMITTED_EXT: return "VK_ERROR_NOT_PERMITTED_EXT"; case VK_ERROR_OUT_OF_POOL_MEMORY_KHR: return "VK_ERROR_OUT_OF_POOL_MEMORY_KHR"; case VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR: return "VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR"; - case VK_RESULT_RANGE_SIZE: return "VK_RESULT_RANGE_SIZE"; case VK_RESULT_MAX_ENUM: return "VK_RESULT_MAX_ENUM"; + case VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS: return "VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS"; + case VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT: return "VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT"; + case VK_ERROR_UNKNOWN: return "VK_ERROR_UNKNOWN"; + case VK_THREAD_IDLE_KHR: return "VK_THREAD_IDLE_KHR"; + case VK_THREAD_DONE_KHR: return "VK_THREAD_DONE_KHR"; + case VK_OPERATION_DEFERRED_KHR: return "VK_OPERATION_DEFERRED_KHR"; + case VK_OPERATION_NOT_DEFERRED_KHR: return "VK_OPERATION_NOT_DEFERRED_KHR"; + case VK_PIPELINE_COMPILE_REQUIRED_EXT: return "VK_PIPELINE_COMPILE_REQUIRED_EXT"; } UNREACHABLE(); return "Unknown result"; -- 2.45.3 From e62fb37e70e5de45b7f1c517014eb043092ea09e Mon Sep 17 00:00:00 2001 From: Viktor Govako Date: Sun, 21 Nov 2021 22:49:48 +0300 Subject: [PATCH 05/14] [drape] Log invalid font file name. Signed-off-by: Viktor Govako --- drape/glyph_manager.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drape/glyph_manager.cpp b/drape/glyph_manager.cpp index 76207885ff..67fd7d6b37 100644 --- a/drape/glyph_manager.cpp +++ b/drape/glyph_manager.cpp @@ -1,5 +1,4 @@ #include "drape/glyph_manager.hpp" -#include "3party/sdf_image/sdf_image.h" #include "platform/platform.hpp" @@ -10,6 +9,8 @@ #include "base/math.hpp" #include "base/timer.hpp" +#include "3party/sdf_image/sdf_image.h" + #include #include #include @@ -154,12 +155,8 @@ public: args.params = 0; FT_Error const err = FT_Open_Face(lib, &args, 0, &m_fontFace); -#ifdef DEBUG - if (err) - LOG(LWARNING, ("Freetype:", g_FT_Errors[err].m_code, g_FT_Errors[err].m_message)); -#endif if (err || !IsValid()) - MYTHROW(InvalidFontException, ()); + MYTHROW(InvalidFontException, (g_FT_Errors[err].m_code, g_FT_Errors[err].m_message)); } bool IsValid() const @@ -418,7 +415,7 @@ GlyphManager::GlyphManager(GlyphManager::Params const & params) } catch(RootException const & e) { - LOG(LWARNING, ("Error read font file : ", e.what())); + LOG(LWARNING, ("Error reading font file =", fontName, "; Reason =", e.what())); continue; } -- 2.45.3 From a272165355f463c3b4d0d3186f55f0618126645d Mon Sep 17 00:00:00 2001 From: Viktor Govako Date: Tue, 23 Nov 2021 00:35:17 +0300 Subject: [PATCH 06/14] Release compilation hotfix. Signed-off-by: Viktor Govako --- drape/glyph_manager.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/drape/glyph_manager.cpp b/drape/glyph_manager.cpp index 67fd7d6b37..508af4cdd9 100644 --- a/drape/glyph_manager.cpp +++ b/drape/glyph_manager.cpp @@ -25,20 +25,20 @@ #include FT_STROKER_H #include FT_CACHE_H +#undef __FTERRORS_H__ +#define FT_ERRORDEF(e, v, s) {e, s}, +#define FT_ERROR_START_LIST { +#define FT_ERROR_END_LIST {0, 0}}; +struct FreetypeError +{ + int m_code; + char const * m_message; +}; + +FreetypeError g_FT_Errors[] = +#include FT_ERRORS_H + #ifdef DEBUG - #undef __FTERRORS_H__ - #define FT_ERRORDEF(e, v, s) {e, s}, - #define FT_ERROR_START_LIST { - #define FT_ERROR_END_LIST {0, 0}}; - struct FreetypeError - { - int m_code; - char const * m_message; - }; - - FreetypeError g_FT_Errors[] = - #include FT_ERRORS_H - #define FREETYPE_CHECK(x) \ do \ { \ -- 2.45.3 From 79534b63ccea6e3722cc3dd6764a4899717e87c0 Mon Sep 17 00:00:00 2001 From: Viktor Govako Date: Sun, 14 Nov 2021 11:19:42 +0100 Subject: [PATCH 07/14] [routing] Added cross border penalty tests. Signed-off-by: Viktor Govako --- routing/mwm_hierarchy_handler.cpp | 65 +++++++++----------- routing/mwm_hierarchy_handler.hpp | 18 +++--- routing/routing_tests/CMakeLists.txt | 1 + routing/routing_tests/index_graph_tools.cpp | 10 +-- routing/routing_tests/mwm_hierarchy_test.cpp | 51 +++++++++++++++ 5 files changed, 98 insertions(+), 47 deletions(-) create mode 100644 routing/routing_tests/mwm_hierarchy_test.cpp diff --git a/routing/mwm_hierarchy_handler.cpp b/routing/mwm_hierarchy_handler.cpp index bb8086bdb5..3680c32b52 100644 --- a/routing/mwm_hierarchy_handler.cpp +++ b/routing/mwm_hierarchy_handler.cpp @@ -1,7 +1,5 @@ #include "routing/mwm_hierarchy_handler.hpp" -#include "base/logging.hpp" - #include namespace routing @@ -12,60 +10,57 @@ namespace routing inline size_t constexpr kCrossCountryPenaltyS = 60 * 60 * 2; // The Eurasian Economic Union (EAEU) list of countries. -std::unordered_set kEAEU{"Armenia", "Belarus", "Kazakhstan", "Kyrgyzstan", - "Russian Federation"}; +std::unordered_set kEAEU = { + "Armenia", "Belarus", "Kazakhstan", "Kyrgyzstan", "Russian Federation" +}; // The Schengen Area list of countries. -std::unordered_set kSchengenArea{ +std::unordered_set kSchengenArea = { "Austria", "Belgium", "Czech Republic", "Denmark", "Estonia", "Finland", "France", "Germany", "Greece", "Hungary", "Iceland", "Italy", "Latvia", "Liechtenstein", "Lithuania", "Luxembourg", "Malta", "Netherlands", "Norway", "Poland", "Portugal", "Slovakia", "Slovenia", "Spain", - "Sweden", "Switzerland"}; + "Sweden", "Switzerland" +}; -// Returns country name for |mwmName|. The logic of searching for a parent is determined by |fn|. -// Country name may be empty. -std::string GetCountryByMwmName(std::string const & mwmName, CountryParentNameGetterFn fn) +/// @return Top level hierarchy name for MWMs \a mwmName. +/// @note May be empty for the disputed territories. +std::string GetCountryByMwmName(std::string const & mwmName, CountryParentNameGetterFn const & fn) { - static std::string const CountriesRoot = "Countries"; - std::string country; - - if (!fn) - return country; - - std::string parent = mwmName; - - while (parent != CountriesRoot) + std::string country = mwmName; + while (true) { - country = parent; if (country.empty()) break; - parent = fn(parent); + auto parent = fn(country); + if (parent == "Countries") + break; + else + country = std::move(parent); } - return country; } -std::string GetCountryByMwmId(NumMwmId mwmId, CountryParentNameGetterFn fn, - std::shared_ptr const & numMwmIds) +MwmHierarchyHandler::MwmHierarchyHandler(std::shared_ptr numMwmIds, + CountryParentNameGetterFn parentGetterFn) + : m_numMwmIds(std::move(numMwmIds)), m_countryParentNameGetterFn(std::move(parentGetterFn)) { - if (numMwmIds != nullptr && numMwmIds->ContainsFileForMwm(mwmId)) - return GetCountryByMwmName(numMwmIds->GetFile(mwmId).GetName(), fn); +} + +std::string MwmHierarchyHandler::GetParentCountry(NumMwmId mwmId) const +{ + if (m_numMwmIds && m_numMwmIds->ContainsFileForMwm(mwmId)) + return GetCountryByMwmName(m_numMwmIds->GetFile(mwmId).GetName(), m_countryParentNameGetterFn); return {}; } -MwmHierarchyHandler::MwmHierarchyHandler(std::shared_ptr numMwmIds, - CountryParentNameGetterFn countryParentNameGetterFn) - : m_numMwmIds(numMwmIds), m_countryParentNameGetterFn(countryParentNameGetterFn) -{ -} - -std::string const & MwmHierarchyHandler::GetParentCountryByMwmId(NumMwmId mwmId) +std::string const & MwmHierarchyHandler::GetParentCountryCached(NumMwmId mwmId) { + /// @todo Possible races here? Because can't say for sure that MwmHierarchyHandler is not used concurrently. auto [it, inserted] = m_mwmCountriesCache.emplace(mwmId, ""); if (inserted) - it->second = GetCountryByMwmId(mwmId, m_countryParentNameGetterFn, m_numMwmIds); + it->second = GetParentCountry(mwmId); return it->second; } @@ -75,8 +70,8 @@ bool MwmHierarchyHandler::HasCrossBorderPenalty(NumMwmId mwmId1, NumMwmId mwmId2 if (mwmId1 == mwmId2) return false; - std::string const country1 = GetParentCountryByMwmId(mwmId1); - std::string const country2 = GetParentCountryByMwmId(mwmId2); + std::string const country1 = GetParentCountryCached(mwmId1); + std::string const country2 = GetParentCountryCached(mwmId2); // If one of the mwms belongs to the territorial dispute we add penalty for crossing its borders. if (country1.empty() || country2.empty()) diff --git a/routing/mwm_hierarchy_handler.hpp b/routing/mwm_hierarchy_handler.hpp index c647c10242..e9a5b4d96c 100644 --- a/routing/mwm_hierarchy_handler.hpp +++ b/routing/mwm_hierarchy_handler.hpp @@ -11,25 +11,29 @@ namespace routing { -using MwmToCountry = std::unordered_map; -// Class for calculating penalty while crossing country borders. Also finds parent country for mwm. +/// Class for calculating penalty while crossing country borders. Also finds parent country for mwm. class MwmHierarchyHandler { public: + // Used in tests only. + MwmHierarchyHandler() = default; + // Used in IndexRouter. MwmHierarchyHandler(std::shared_ptr numMwmIds, CountryParentNameGetterFn countryParentNameGetterFn); + bool HasCrossBorderPenalty(NumMwmId mwmId1, NumMwmId mwmId2); RouteWeight GetCrossBorderPenalty(NumMwmId mwmId1, NumMwmId mwmId2); private: - bool HasCrossBorderPenalty(NumMwmId mwmId1, NumMwmId mwmId2); + /// @return Parent country name for \a mwmId. + std::string GetParentCountry(NumMwmId mwmId) const; + std::string const & GetParentCountryCached(NumMwmId mwmId); - // Returns parent country name for |mwmId|. - std::string const & GetParentCountryByMwmId(NumMwmId mwmId); + std::shared_ptr m_numMwmIds; + CountryParentNameGetterFn m_countryParentNameGetterFn; - std::shared_ptr m_numMwmIds = nullptr; - CountryParentNameGetterFn m_countryParentNameGetterFn = nullptr; + using MwmToCountry = std::unordered_map; MwmToCountry m_mwmCountriesCache; }; } // namespace routing diff --git a/routing/routing_tests/CMakeLists.txt b/routing/routing_tests/CMakeLists.txt index 7a4b1ace84..b6b0fe2714 100644 --- a/routing/routing_tests/CMakeLists.txt +++ b/routing/routing_tests/CMakeLists.txt @@ -21,6 +21,7 @@ set( index_graph_tools.cpp index_graph_tools.hpp maxspeeds_tests.cpp + mwm_hierarchy_test.cpp nearest_edge_finder_tests.cpp opening_hours_serdes_tests.cpp position_accumulator_tests.cpp diff --git a/routing/routing_tests/index_graph_tools.cpp b/routing/routing_tests/index_graph_tools.cpp index c25f645a31..4c052453f8 100644 --- a/routing/routing_tests/index_graph_tools.cpp +++ b/routing/routing_tests/index_graph_tools.cpp @@ -369,7 +369,7 @@ void TestIndexGraphTopology::Builder::BuildGraphFromRequests(vector if (!request.m_accessConditionalType.IsEmpty()) wayToAccessConditional[request.m_id] = request.m_accessConditionalType; - // All features have 1 segment. |from| has point index 0, |to| has point index 1. + // All features have 1 segment. |from| has point index 0, |to| has point index 1. if (request.m_fromAccessType != RoadAccess::Type::Yes) pointToAccess[RoadPoint(request.m_id, 0 /* pointId */)] = request.m_fromAccessType; @@ -420,7 +420,7 @@ unique_ptr BuildWorldGraph(unique_ptr(); indexLoader->AddGraph(kTestNumMwmId, move(graph)); return make_unique(nullptr /* crossMwmGraph */, move(indexLoader), - estimator, MwmHierarchyHandler(nullptr, nullptr)); + estimator, MwmHierarchyHandler()); } unique_ptr BuildIndexGraph(unique_ptr geometryLoader, @@ -437,12 +437,12 @@ unique_ptr BuildWorldGraph(unique_ptr const & joints) { auto graph = make_unique(make_shared(move(geometryLoader)), estimator); - + graph->Import(joints); auto indexLoader = make_unique(); indexLoader->AddGraph(kTestNumMwmId, move(graph)); return make_unique(nullptr /* crossMwmGraph */, move(indexLoader), - estimator, MwmHierarchyHandler(nullptr, nullptr)); + estimator, MwmHierarchyHandler()); } unique_ptr BuildWorldGraph(unique_ptr geometryLoader, @@ -464,7 +464,7 @@ unique_ptr BuildWorldGraph(unique_ptr geo auto transitLoader = make_unique(); transitLoader->AddGraph(kTestNumMwmId, move(transitGraph)); - + return make_unique(nullptr /* crossMwmGraph */, move(indexLoader), move(transitLoader), estimator); } diff --git a/routing/routing_tests/mwm_hierarchy_test.cpp b/routing/routing_tests/mwm_hierarchy_test.cpp new file mode 100644 index 0000000000..a09f567878 --- /dev/null +++ b/routing/routing_tests/mwm_hierarchy_test.cpp @@ -0,0 +1,51 @@ +#include "testing/testing.hpp" + +#include "routing/mwm_hierarchy_handler.hpp" +#include "storage/country_parent_getter.hpp" + + +using namespace routing; + +UNIT_TEST(CountryParentGetter_Smoke) +{ + storage::CountryParentGetter getter; + TEST_EQUAL(getter("Belarus_Hrodna Region"), "Belarus", ()); + TEST_EQUAL(getter("Russia_Arkhangelsk Oblast_Central"), "Russian Federation", ()); + TEST_EQUAL(getter("Crimea"), "", ()); +} + +namespace +{ + +std::shared_ptr CreateNumMwmIds(storage::CountryParentGetter const & getter) +{ + auto mwmIDs = std::make_shared(); + getter.GetStorageForTesting().ForEachCountryFile( + [&mwmIDs](platform::CountryFile const & file) { mwmIDs->RegisterFile(file); }); + return mwmIDs; +} + +uint16_t GetCountryID(std::shared_ptr mwmIDs, std::string const & mwmName) +{ + return mwmIDs->GetId(platform::CountryFile(mwmName)); +} + +} // namespace + +UNIT_TEST(MwmHierarchyHandler_Smoke) +{ + storage::CountryParentGetter getter; + auto mwmIDs = CreateNumMwmIds(getter); + routing::MwmHierarchyHandler handler(mwmIDs, getter); + + TEST(!handler.HasCrossBorderPenalty(GetCountryID(mwmIDs, "Belarus_Maglieu Region"), + GetCountryID(mwmIDs, "Belarus_Vitebsk Region")), ()); + TEST(handler.HasCrossBorderPenalty(GetCountryID(mwmIDs, "Belarus_Hrodna Region"), + GetCountryID(mwmIDs, "Lithuania_East")), ()); + TEST(!handler.HasCrossBorderPenalty(GetCountryID(mwmIDs, "Belarus_Maglieu Region"), + GetCountryID(mwmIDs, "Russia_Smolensk Oblast")), ()); + TEST(handler.HasCrossBorderPenalty(GetCountryID(mwmIDs, "Ukraine_Kherson Oblast"), + GetCountryID(mwmIDs, "Crimea")), ()); + TEST(!handler.HasCrossBorderPenalty(GetCountryID(mwmIDs, "Denmark_Region Zealand"), + GetCountryID(mwmIDs, "Denmark_Region of Southern Denmark")), ()); +} -- 2.45.3 From b31be0589c1af7c6916d8b1bb8fb38daf4cd1e08 Mon Sep 17 00:00:00 2001 From: Viktor Govako Date: Sun, 14 Nov 2021 12:05:25 +0100 Subject: [PATCH 08/14] [routing] Added possibility to debug and log-dump A* algorithm. Signed-off-by: Viktor Govako --- qt/qt_common/map_widget.cpp | 42 ++++++++--------- routing/CMakeLists.txt | 1 + routing/base/astar_algorithm.hpp | 46 +++++++++---------- routing/junction_visitor.cpp | 33 +++++++++++++ routing/junction_visitor.hpp | 38 +++++++++------ routing/single_vehicle_world_graph.cpp | 5 +- .../routing/routing.xcodeproj/project.pbxproj | 4 ++ 7 files changed, 107 insertions(+), 62 deletions(-) create mode 100644 routing/junction_visitor.cpp diff --git a/qt/qt_common/map_widget.cpp b/qt/qt_common/map_widget.cpp index 2cf2ff8ea5..9482629cff 100644 --- a/qt/qt_common/map_widget.cpp +++ b/qt/qt_common/map_widget.cpp @@ -279,32 +279,32 @@ void MapWidget::ShowInfoPopup(QMouseEvent * e, m2::PointD const & pt) { // show feature types QMenu menu; - auto const addStringFn = [&menu](std::string const & s) { - if (s.empty()) - return; - - menu.addAction(QString::fromUtf8(s.c_str())); + auto const addStringFn = [&menu](std::string const & s) + { + if (!s.empty()) + menu.addAction(QString::fromUtf8(s.c_str())); }; - m_framework.ForEachFeatureAtPoint( - [&](FeatureType & ft) { - std::string concat; - auto types = feature::TypesHolder(ft); - types.SortBySpec(); - for (auto const & type : types.ToObjectNames()) - concat += type + " "; - addStringFn(concat); + m_framework.ForEachFeatureAtPoint([&](FeatureType & ft) + { + addStringFn(DebugPrint(ft.GetID())); - std::string name; - ft.GetReadableName(name); - addStringFn(name); + std::string concat; + auto types = feature::TypesHolder(ft); + types.SortBySpec(); + for (auto const & type : types.ToObjectNames()) + concat += type + " "; + addStringFn(concat); - auto const info = GetFeatureAddressInfo(m_framework, ft); - addStringFn(info.FormatAddress()); + std::string name; + ft.GetReadableName(name); + addStringFn(name); - menu.addSeparator(); - }, - m_framework.PtoG(pt)); + auto const info = GetFeatureAddressInfo(m_framework, ft); + addStringFn(info.FormatAddress()); + + menu.addSeparator(); + }, m_framework.PtoG(pt)); menu.exec(e->pos()); } diff --git a/routing/CMakeLists.txt b/routing/CMakeLists.txt index 6a33891efa..82a841adf4 100644 --- a/routing/CMakeLists.txt +++ b/routing/CMakeLists.txt @@ -85,6 +85,7 @@ set( joint_index.hpp joint_segment.cpp joint_segment.hpp + junction_visitor.cpp junction_visitor.hpp latlon_with_altitude.cpp latlon_with_altitude.hpp diff --git a/routing/base/astar_algorithm.hpp b/routing/base/astar_algorithm.hpp index 3dc3243615..9e99038f0d 100644 --- a/routing/base/astar_algorithm.hpp +++ b/routing/base/astar_algorithm.hpp @@ -25,16 +25,15 @@ namespace routing { namespace astar { -template + struct DefaultVisitor { - void operator()(Vertex const & /* from */, Vertex const & /* to */) const {}; + template void operator() (State const &, Vertex const &) const {}; }; -template struct DefaultLengthChecker { - bool operator()(Weight const & /* weight */) const { return true; } + template bool operator()(Weight const &) const { return true; } }; } // namespace astar @@ -95,14 +94,14 @@ public: // |LengthChecker| callback used to check path length from start/finish to the edge (including the // edge itself) before adding the edge to AStar queue. Can be used to clip some path which does // not meet restrictions. - template , - typename LengthChecker = astar::DefaultLengthChecker> + template struct Params : public ParamsBase { Params(Graph & graph, Vertex const & startVertex, Vertex const & finalVertex, std::vector const * prevRoute, base::Cancellable const & cancellable, - Visitor && onVisitedVertexCallback = astar::DefaultVisitor(), - LengthChecker && checkLengthCallback = astar::DefaultLengthChecker()) + Visitor && onVisitedVertexCallback = astar::DefaultVisitor(), + LengthChecker && checkLengthCallback = astar::DefaultLengthChecker()) : ParamsBase(graph, startVertex, finalVertex, prevRoute, cancellable) , m_onVisitedVertexCallback(std::forward(onVisitedVertexCallback)) , m_checkLengthCallback(std::forward(checkLengthCallback)) @@ -113,19 +112,18 @@ public: LengthChecker const m_checkLengthCallback; }; - template > + template struct ParamsForTests : public ParamsBase { ParamsForTests(Graph & graph, Vertex const & startVertex, Vertex const & finalVertex, std::vector const * prevRoute, - LengthChecker && checkLengthCallback = astar::DefaultLengthChecker()) + LengthChecker && checkLengthCallback = astar::DefaultLengthChecker()) : ParamsBase(graph, startVertex, finalVertex, prevRoute, m_dummy) , m_checkLengthCallback(std::forward(checkLengthCallback)) { } - astar::DefaultVisitor const m_onVisitedVertexCallback = - astar::DefaultVisitor(); + astar::DefaultVisitor const m_onVisitedVertexCallback{}; LengthChecker const m_checkLengthCallback; private: @@ -356,6 +354,12 @@ private: Parents & GetParents() { return parent; } + std::optional GetParent(Vertex const & vertex) const + { + auto const it = parent.find(vertex); + return it != parent.cend() ? std::optional(it->second) : std::nullopt; + } + bool const forward; Vertex const & startVertex; Vertex const & finalVertex; @@ -588,14 +592,13 @@ AStarAlgorithm::FindPathBidirectional(P & params, BidirectionalStepContext * cur = &forward; BidirectionalStepContext * nxt = &backward; - auto const getResult = [&]() { + auto const getResult = [&]() + { if (!params.m_checkLengthCallback(bestPathRealLength)) return Result::NoPath; - ReconstructPathBidirectional(cur->bestVertex, nxt->bestVertex, cur->parent, nxt->parent, - result.m_path); + ReconstructPathBidirectional(cur->bestVertex, nxt->bestVertex, cur->parent, nxt->parent, result.m_path); result.m_distance = bestPathRealLength; - CHECK(!result.m_path.empty(), ()); if (!cur->forward) reverse(result.m_path.begin(), result.m_path.end()); @@ -646,8 +649,8 @@ AStarAlgorithm::FindPathBidirectional(P & params, if (cur->ExistsStateWithBetterDistance(stateV)) continue; - params.m_onVisitedVertexCallback(stateV.vertex, - cur->forward ? cur->finalVertex : cur->startVertex); + auto const endV = cur->forward ? cur->finalVertex : cur->startVertex; + params.m_onVisitedVertexCallback(std::make_pair(stateV, cur), endV); cur->GetAdjacencyList(stateV, adj); auto const & pV = stateV.heuristic; @@ -704,7 +707,7 @@ AStarAlgorithm::FindPathBidirectional(P & params, } } - if (stateW.vertex != (cur->forward ? cur->finalVertex : cur->startVertex)) + if (stateW.vertex != endV) cur->queue.push(stateW); } } @@ -721,17 +724,12 @@ typename AStarAlgorithm::Result AStarAlgorithm::AdjustRoute(P & params, RoutingResult & result) const { - CHECK(params.m_prevRoute, ()); auto & graph = params.m_graph; auto const & startVertex = params.m_startVertex; auto const & prevRoute = *params.m_prevRoute; CHECK(!prevRoute.empty(), ()); - static_assert(!std::is_same>::value, - "CheckLengthCallback expected to be set to limit wave propagation."); - result.Clear(); bool wasCancelled = false; diff --git a/routing/junction_visitor.cpp b/routing/junction_visitor.cpp new file mode 100644 index 0000000000..2875d539af --- /dev/null +++ b/routing/junction_visitor.cpp @@ -0,0 +1,33 @@ +#include "junction_visitor.hpp" + +#include "routing/joint_segment.hpp" +#include "routing/route_weight.hpp" + +#include "base/logging.hpp" + +namespace routing +{ + +#ifdef DEBUG +void DebugRoutingState(JointSegment const & vertex, std::optional const & parent, + RouteWeight const & heuristic, RouteWeight const & distance) +{ + // 1. Dump current processing vertex. +// std::cout << DebugPrint(vertex); +// std::cout << std::setprecision(8) << "; H = " << heuristic << "; D = " << distance; + + // 2. Dump parent vertex. +// std::cout << "; P = " << (parent ? DebugPrint(*parent) : std::string("NO")); + +// std::cout << std::endl; + + // 3. Set breakpoint on a specific vertex. +// if (vertex.GetMwmId() == 706 && vertex.GetFeatureId() == 147648 && +// vertex.GetEndSegmentId() == 75) +// { +// int noop = 0; +// } +} +#endif + +} // namespace routing diff --git a/routing/junction_visitor.hpp b/routing/junction_visitor.hpp index 92efa0d4fc..cfa04bf6a4 100644 --- a/routing/junction_visitor.hpp +++ b/routing/junction_visitor.hpp @@ -13,6 +13,15 @@ namespace routing { double constexpr kProgressInterval = 0.5; +#ifdef DEBUG +inline void DebugRoutingState(...) {} + +class JointSegment; +class RouteWeight; +void DebugRoutingState(JointSegment const & vertex, std::optional const & parent, + RouteWeight const & heuristic, RouteWeight const & distance); +#endif + template class JunctionVisitor { @@ -27,23 +36,22 @@ public: m_lastProgressPercent = progress->GetLastPercent(); } + /// @param[in] p { Current state, Step context } pair. + /// @param[in] to End vertex (final for forward and start for backward waves). + template void operator()(StateContextPair const & p, Vertex const & to) + { + auto const & state = p.first; +#ifdef DEBUG + // For Debug purpose. + DebugRoutingState(state.vertex, p.second->GetParent(state.vertex), state.heuristic, state.distance); +#endif + this->operator()(state.vertex, to); + } + + /// @param[in] from Current processing vertex. + /// @param[in] to End vertex (final for forward and start for backward waves). void operator()(Vertex const & from, Vertex const & to) { - // For Debug purpose. - /* - auto const & pointFrom = m_graph.GetPoint(from, true); - auto const & pointTo = m_graph.GetPoint(to, true); - - std::cout << "["; - auto const printPoint = [](ms::LatLon const & ll) - { - std::cout << std::setprecision(9) << "[" << ll.m_lon << "," << ll.m_lat << "],"; - }; - printPoint(pointFrom); - printPoint(pointTo); - std::cout << "]," << std::endl; - */ - ++m_visitCounter; if (m_visitCounter % m_visitPeriod != 0) return; diff --git a/routing/single_vehicle_world_graph.cpp b/routing/single_vehicle_world_graph.cpp index c88ab2de68..4ca44dcba7 100644 --- a/routing/single_vehicle_world_graph.cpp +++ b/routing/single_vehicle_world_graph.cpp @@ -300,10 +300,11 @@ SingleVehicleWorldGraph::AreWavesConnectibleImpl(Parents const & for return true; }; - auto const fillParents = [&](VertexType const & start, auto const & parents) + auto const fillParents = [&](VertexType current, auto const & parents) { - VertexType current = start; + /// @todo Realize the meaning of this constant. static uint32_t constexpr kStepCountOneSide = 3; + for (uint32_t i = 0; i < kStepCountOneSide; ++i) { if (!fillUntilNextFeatureId(current, parents)) diff --git a/xcode/routing/routing.xcodeproj/project.pbxproj b/xcode/routing/routing.xcodeproj/project.pbxproj index 921b64a3b0..34f566c51c 100644 --- a/xcode/routing/routing.xcodeproj/project.pbxproj +++ b/xcode/routing/routing.xcodeproj/project.pbxproj @@ -217,6 +217,7 @@ A1616E2B1B6B60AB003F078E /* router_delegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1616E291B6B60AB003F078E /* router_delegate.cpp */; }; A1616E2C1B6B60AB003F078E /* router_delegate.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A1616E2A1B6B60AB003F078E /* router_delegate.hpp */; }; A1616E2E1B6B60B3003F078E /* astar_progress.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A1616E2D1B6B60B3003F078E /* astar_progress.hpp */; }; + ACAE44A427426EDB0054DD15 /* junction_visitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACAE44A327426EDB0054DD15 /* junction_visitor.cpp */; }; D51A9C14242E379D00F750F8 /* fake_graph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D51A9C13242E379C00F750F8 /* fake_graph.cpp */; }; D526BA79241FC5580076E0B0 /* guides_graph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D526BA75241FC5580076E0B0 /* guides_graph.cpp */; }; D526BA7A241FC5580076E0B0 /* guides_connections.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D526BA76241FC5580076E0B0 /* guides_connections.cpp */; }; @@ -497,6 +498,7 @@ A1616E291B6B60AB003F078E /* router_delegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = router_delegate.cpp; sourceTree = ""; }; A1616E2A1B6B60AB003F078E /* router_delegate.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = router_delegate.hpp; sourceTree = ""; }; A1616E2D1B6B60B3003F078E /* astar_progress.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = astar_progress.hpp; sourceTree = ""; }; + ACAE44A327426EDB0054DD15 /* junction_visitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = junction_visitor.cpp; sourceTree = ""; }; D51A9C13242E379C00F750F8 /* fake_graph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fake_graph.cpp; sourceTree = ""; }; D5208C632423681300A9A8B6 /* guides_tests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = guides_tests.cpp; sourceTree = ""; }; D526BA75241FC5580076E0B0 /* guides_graph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = guides_graph.cpp; sourceTree = ""; }; @@ -674,6 +676,7 @@ 675343FA1A3F640D00A0A8C3 /* routing */ = { isa = PBXGroup; children = ( + ACAE44A327426EDB0054DD15 /* junction_visitor.cpp */, D549BEBC25765CFB009131F2 /* absent_regions_finder.cpp */, D549BEBA25765CFA009131F2 /* absent_regions_finder.hpp */, 44A95C6F225F6A4F00C22F4F /* astar_graph.hpp */, @@ -1199,6 +1202,7 @@ 44C56C0B22296498006C2A1D /* routing_options.cpp in Sources */, 0C5F5D201E798B0400307B98 /* cross_mwm_connector_serialization.cpp in Sources */, D526BA7A241FC5580076E0B0 /* guides_connections.cpp in Sources */, + ACAE44A427426EDB0054DD15 /* junction_visitor.cpp in Sources */, 0C5BC9D11E28FD4E0071BFDD /* index_road_graph.cpp in Sources */, D549BEC325765CFB009131F2 /* absent_regions_finder.cpp in Sources */, 0C090C811E4E274000D52AFD /* index_graph_loader.cpp in Sources */, -- 2.45.3 From 22ff4ac1498a06a5c174f8e5a6098e2f954762f3 Mon Sep 17 00:00:00 2001 From: Viktor Govako Date: Mon, 15 Nov 2021 10:26:20 +0100 Subject: [PATCH 09/14] [routing] ToDo for future in RouteWeight. Signed-off-by: Viktor Govako --- routing/route_weight.cpp | 54 ++++++++++++++++++++++++++++++++++------ routing/route_weight.hpp | 37 ++++++--------------------- 2 files changed, 53 insertions(+), 38 deletions(-) diff --git a/routing/route_weight.cpp b/routing/route_weight.cpp index 7e553b9b50..952db9c8e3 100644 --- a/routing/route_weight.cpp +++ b/routing/route_weight.cpp @@ -78,18 +78,56 @@ RouteWeight & RouteWeight::operator+=(RouteWeight const & rhs) return *this; } -void RouteWeight::AddAccessConditionalPenalty() +bool RouteWeight::operator<(RouteWeight const & rhs) const { - ASSERT_LESS(m_numAccessConditionalPenalties, - std::numeric_limits::max(), ()); - ++m_numAccessConditionalPenalties; + if (m_numPassThroughChanges != rhs.m_numPassThroughChanges) + return m_numPassThroughChanges < rhs.m_numPassThroughChanges; + // We compare m_numAccessChanges after m_numPassThroughChanges because we can have multiple + // nodes with access tags on the way from the area with limited access and no access tags on the + // ways inside this area. So we probably need to make access restriction less strict than pass + // through restrictions e.g. allow to cross access={private, destination} and build the route + // with the least possible number of such crosses or introduce some maximal number of + // access={private, destination} crosses. + if (m_numAccessChanges != rhs.m_numAccessChanges) + return m_numAccessChanges < rhs.m_numAccessChanges; + + if (m_numAccessConditionalPenalties != rhs.m_numAccessConditionalPenalties) + return m_numAccessConditionalPenalties < rhs.m_numAccessConditionalPenalties; + + if (m_weight != rhs.m_weight) + return m_weight < rhs.m_weight; + // Prefer bigger transit time if total weights are same. + return m_transitTime > rhs.m_transitTime; +} + +/// @todo Introduce this integrated weight criteria into operator< to avoid strange situation when +/// short path but with m_numAccessChanges > 0 is worse than very long path but with m_numAccessChanges == 0. +/// Make some reasonable multiply factors with tests. +double RouteWeight::GetIntegratedWeight() const +{ + double res = m_weight; + + // +200% for each additional change. + if (m_numPassThroughChanges) + res += m_numPassThroughChanges * m_weight * 2; + + // +200% for each additional change. + if (m_numAccessChanges) + res += m_numAccessChanges * m_weight * 2; + + // +100% for each conditional. + if (m_numAccessConditionalPenalties) + res += m_numAccessConditionalPenalties * m_weight; + + return res; } ostream & operator<<(ostream & os, RouteWeight const & routeWeight) { - os << "(" << static_cast(routeWeight.GetNumPassThroughChanges()) << ", " - << static_cast(routeWeight.GetNumAccessChanges()) << ", " - << static_cast(routeWeight.GetNumAccessConditionalPenalties()) << ", " + os << "(" + << static_cast(routeWeight.GetNumPassThroughChanges()) << ", " + << static_cast(routeWeight.m_numAccessChanges) << ", " + << static_cast(routeWeight.m_numAccessConditionalPenalties) << ", " << routeWeight.GetWeight() << ", " << routeWeight.GetTransitTime() << ")"; return os; } @@ -97,7 +135,7 @@ ostream & operator<<(ostream & os, RouteWeight const & routeWeight) RouteWeight operator*(double lhs, RouteWeight const & rhs) { return RouteWeight(lhs * rhs.GetWeight(), rhs.GetNumPassThroughChanges(), - rhs.GetNumAccessChanges(), rhs.GetNumAccessConditionalPenalties(), + rhs.m_numAccessChanges, rhs.m_numAccessConditionalPenalties, lhs * rhs.GetTransitTime()); } } // namespace routing diff --git a/routing/route_weight.hpp b/routing/route_weight.hpp index 045b0ec4b3..9a2c24618d 100644 --- a/routing/route_weight.hpp +++ b/routing/route_weight.hpp @@ -32,33 +32,10 @@ public: double ToCrossMwmWeight() const; double GetWeight() const { return m_weight; } int8_t GetNumPassThroughChanges() const { return m_numPassThroughChanges; } - int8_t GetNumAccessChanges() const { return m_numAccessChanges; } double GetTransitTime() const { return m_transitTime; } - int8_t GetNumAccessConditionalPenalties() const { return m_numAccessConditionalPenalties; } - void AddAccessConditionalPenalty(); - - bool operator<(RouteWeight const & rhs) const - { - if (m_numPassThroughChanges != rhs.m_numPassThroughChanges) - return m_numPassThroughChanges < rhs.m_numPassThroughChanges; - // We compare m_numAccessChanges after m_numPassThroughChanges because we can have multiple - // nodes with access tags on the way from the area with limited access and no access tags on the - // ways inside this area. So we probably need to make access restriction less strict than pass - // through restrictions e.g. allow to cross access={private, destination} and build the route - // with the least possible number of such crosses or introduce some maximal number of - // access={private, destination} crosses. - if (m_numAccessChanges != rhs.m_numAccessChanges) - return m_numAccessChanges < rhs.m_numAccessChanges; - - if (m_numAccessConditionalPenalties != rhs.m_numAccessConditionalPenalties) - return m_numAccessConditionalPenalties < rhs.m_numAccessConditionalPenalties; - - if (m_weight != rhs.m_weight) - return m_weight < rhs.m_weight; - // Prefer bigger transit time if total weights are same. - return m_transitTime > rhs.m_transitTime; - } + double GetIntegratedWeight() const; + bool operator<(RouteWeight const & rhs) const; bool operator==(RouteWeight const & rhs) const { return !((*this) < rhs) && !(rhs < (*this)); } @@ -85,7 +62,7 @@ public: -m_numAccessConditionalPenalties, -m_transitTime); } - bool IsAlmostEqualForTests(RouteWeight const & rhs, double epsilon) + bool IsAlmostEqualForTests(RouteWeight const & rhs, double epsilon) const { return m_numPassThroughChanges == rhs.m_numPassThroughChanges && m_numAccessChanges == rhs.m_numAccessChanges && @@ -94,6 +71,10 @@ public: base::AlmostEqualAbs(m_transitTime, rhs.m_transitTime, epsilon); } + friend std::ostream & operator<<(std::ostream & os, RouteWeight const & routeWeight); + + friend RouteWeight operator*(double lhs, RouteWeight const & rhs); + private: // Regular weight (seconds). double m_weight = 0.0; @@ -108,10 +89,6 @@ private: double m_transitTime = 0.0; }; -std::ostream & operator<<(std::ostream & os, RouteWeight const & routeWeight); - -RouteWeight operator*(double lhs, RouteWeight const & rhs); - template <> constexpr RouteWeight GetAStarWeightMax() { -- 2.45.3 From 88bd679032025d76766ba6a93e01b718937f1aed Mon Sep 17 00:00:00 2001 From: Viktor Govako Date: Mon, 15 Nov 2021 16:43:48 +0100 Subject: [PATCH 10/14] [routing] Added debug-cam mode option. Signed-off-by: Viktor Govako --- map/framework.cpp | 21 +++++++----- routing/index_router.cpp | 50 ++++++++++++++++------------ routing/index_router.hpp | 1 + routing/speed_camera_prohibition.hpp | 2 ++ 4 files changed, 44 insertions(+), 30 deletions(-) diff --git a/map/framework.cpp b/map/framework.cpp index 6ed0fd4cb5..0dff3d9e31 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -16,6 +16,7 @@ #include "routing/index_router.hpp" #include "routing/route.hpp" #include "routing/routing_helpers.hpp" +#include "routing/speed_camera_prohibition.hpp" #include "routing_common/num_mwm_id.hpp" @@ -2728,16 +2729,18 @@ bool Framework::ParseEditorDebugCommand(search::SearchParams const & params) return false; } -bool Framework::ParseRoutingDebugCommand(search::SearchParams const &) +bool Framework::ParseRoutingDebugCommand(search::SearchParams const & params) { - // This is an example. - /* - if (params.m_query == "?speedcams") - { - GetRoutingManager().RoutingSession().EnableMyFeature(); - return true; - } - */ + if (params.m_query == "?debug-cam") + { + settings::Set(kDebugSpeedCamSetting, true); + return true; + } + else if (params.m_query == "?no-debug-cam") + { + settings::Set(kDebugSpeedCamSetting, false); + return true; + } return false; } diff --git a/routing/index_router.cpp b/routing/index_router.cpp index ae01365849..80d1ad1fbe 100644 --- a/routing/index_router.cpp +++ b/routing/index_router.cpp @@ -32,6 +32,7 @@ #include "indexer/scales.hpp" #include "platform/mwm_traits.hpp" +#include "platform/settings.hpp" #include "geometry/mercator.hpp" #include "geometry/parametrized_segment.hpp" @@ -1130,11 +1131,11 @@ bool IndexRouter::FindBestEdges(m2::PointD const & checkpoint, MYTHROW(MwmIsNotAliveException, ("Can't get mwm handle for", pointCountryFile)); auto const rect = mercator::RectByCenterXYAndSizeInMeters(checkpoint, closestEdgesRadiusM); - auto const isGoodFeature = [this](FeatureID const & fid) { + auto closestRoads = m_roadGraph.FindRoads(rect, [this](FeatureID const & fid) + { auto const & info = fid.m_mwmId.GetInfo(); return m_numMwmIds->ContainsFile(info->GetLocalFile().GetCountryFile()); - }; - auto closestRoads = m_roadGraph.FindRoads(rect, isGoodFeature); + }); // Removing all dead ends from |closestRoads|. Then some candidates will be taken from |closestRoads|. // It's necessary to remove all dead ends for all |closestRoads| before IsFencedOff(). @@ -1147,11 +1148,13 @@ bool IndexRouter::FindBestEdges(m2::PointD const & checkpoint, // a feature to a |checkpoint| the more chances that it crosses the segment // |checkpoint|, projections of |checkpoint| on feature edges. It confirmed with benchmarks. sort(closestRoads.begin(), closestRoads.end(), - [&checkpoint](IRoadGraph::FullRoadInfo const & lhs, IRoadGraph::FullRoadInfo const & rhs) { - CHECK(!lhs.m_roadInfo.m_junctions.empty(), ()); - return - checkpoint.SquaredLength(lhs.m_roadInfo.m_junctions[0].GetPoint()) < - checkpoint.SquaredLength(rhs.m_roadInfo.m_junctions[0].GetPoint()); + [&checkpoint](IRoadGraph::FullRoadInfo const & lhs, IRoadGraph::FullRoadInfo const & rhs) + { + auto const & lj = lhs.m_roadInfo.m_junctions; + auto const & rj = rhs.m_roadInfo.m_junctions; + ASSERT(!lj.empty() && !rj.empty(), ()); + + return checkpoint.SquaredLength(lj[0].GetPoint()) < checkpoint.SquaredLength(rj[0].GetPoint()); }); // Note about necessity of removing dead ends twice. @@ -1164,7 +1167,8 @@ bool IndexRouter::FindBestEdges(m2::PointD const & checkpoint, // candidates if it's a dead end taking into acount routing options. We ignore candidates as well // if they don't match RoutingOptions. set deadEnds; - auto const isGood = [&](pair const & edgeProj) { + auto const isGood = [&](pair const & edgeProj) + { auto const segment = GetSegmentByEdge(edgeProj.first); if (IsDeadEndCached(segment, isOutgoing, true /* useRoutingOptions */, worldGraph, deadEnds)) return false; @@ -1457,30 +1461,21 @@ RouterResultCode IndexRouter::RedressRoute(vector const & segments, times.emplace_back(static_cast(i + 1), time); } - CHECK(m_directionsEngine, ()); - m_directionsEngine->SetVehicleType(m_vehicleType); ReconstructRoute(*m_directionsEngine, roadGraph, m_trafficStash, cancellable, junctions, move(times), route); - CHECK(m_numMwmIds, ()); auto & worldGraph = starter.GetGraph(); for (auto & routeSegment : route.GetRouteSegments()) { - routeSegment.SetTransitInfo(worldGraph.GetTransitInfo(routeSegment.GetSegment())); - auto & segment = routeSegment.GetSegment(); - // Removing speed cameras from the route with method AreSpeedCamerasProhibited(...) - // at runtime is necessary for maps from Jan 2019 with speed cameras where it's prohibited - // to use them. + routeSegment.SetTransitInfo(worldGraph.GetTransitInfo(segment)); + if (m_vehicleType == VehicleType::Car) { routeSegment.SetRoadTypes(starter.GetRoutingOptions(segment)); - if (segment.IsRealSegment() && - !AreSpeedCamerasProhibited(m_numMwmIds->GetFile(segment.GetMwmId()))) - { + if (segment.IsRealSegment() && !AreSpeedCamerasProhibited(segment.GetMwmId())) routeSegment.SetSpeedCameraInfo(worldGraph.GetSpeedCamInfo(segment)); - } } if (!segment.IsRealSegment()) @@ -1503,6 +1498,19 @@ RouterResultCode IndexRouter::RedressRoute(vector const & segments, return RouterResultCode::NoError; } +bool IndexRouter::AreSpeedCamerasProhibited(NumMwmId mwmID) const +{ + if (::AreSpeedCamerasProhibited(m_numMwmIds->GetFile(mwmID))) + { + // Not a big overhead here, but can cache flag in IndexRouter and reset it via + // Framework -> RoutingSession -> IndexRouter. + bool enabled = false; + settings::TryGet(kDebugSpeedCamSetting, enabled); + return !enabled; + } + return false; +} + bool IndexRouter::AreMwmsNear(IndexGraphStarter const & starter) const { auto const & startMwmIds = starter.GetStartMwms(); diff --git a/routing/index_router.hpp b/routing/index_router.hpp index f5b5ecec1e..26959f234e 100644 --- a/routing/index_router.hpp +++ b/routing/index_router.hpp @@ -183,6 +183,7 @@ private: base::Cancellable const & cancellable, IndexGraphStarter & starter, Route & route) const; + bool AreSpeedCamerasProhibited(NumMwmId mwmID) const; bool AreMwmsNear(IndexGraphStarter const & starter) const; bool DoesTransitSectionExist(NumMwmId numMwmId) const; diff --git a/routing/speed_camera_prohibition.hpp b/routing/speed_camera_prohibition.hpp index f9c16b1e4f..16ac741ea8 100644 --- a/routing/speed_camera_prohibition.hpp +++ b/routing/speed_camera_prohibition.hpp @@ -4,6 +4,8 @@ namespace routing { +std::string const kDebugSpeedCamSetting = "DebugSpeedCam"; + /// \returns true if any information about speed cameras is prohibited in |mwm|. bool AreSpeedCamerasProhibited(platform::CountryFile const & mwm); -- 2.45.3 From a20612c2fb77288f1c2bc596db09954647a828b4 Mon Sep 17 00:00:00 2001 From: Alexander Borsuk Date: Mon, 22 Nov 2021 14:38:28 +0100 Subject: [PATCH 11/14] [3party][freetype] Fixed reading of OpenType fonts on Android Signed-off-by: Alexander Borsuk --- 3party/freetype/ft_organicmaps_modules.h | 22 +- 3party/freetype/ft_organicmaps_options.h | 2 +- .../freetype.xcodeproj/project.pbxproj | 748 +++++++++++------- 3 files changed, 484 insertions(+), 288 deletions(-) diff --git a/3party/freetype/ft_organicmaps_modules.h b/3party/freetype/ft_organicmaps_modules.h index e69e871276..d4ba3f784d 100644 --- a/3party/freetype/ft_organicmaps_modules.h +++ b/3party/freetype/ft_organicmaps_modules.h @@ -12,17 +12,17 @@ FT_USE_MODULE( FT_Module_Class, autofit_module_class ) FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) -//FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) -//FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) -//FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) -//FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) -//FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) -//FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) -//FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) -//FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) -//FT_USE_MODULE( FT_Module_Class, psaux_module_class ) -//FT_USE_MODULE( FT_Module_Class, psnames_module_class ) -//FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) +FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) +FT_USE_MODULE( FT_Module_Class, psaux_module_class ) +FT_USE_MODULE( FT_Module_Class, psnames_module_class ) +FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) diff --git a/3party/freetype/ft_organicmaps_options.h b/3party/freetype/ft_organicmaps_options.h index 80846d1ac8..be339b73a7 100644 --- a/3party/freetype/ft_organicmaps_options.h +++ b/3party/freetype/ft_organicmaps_options.h @@ -327,7 +327,7 @@ FT_BEGIN_HEADER * You would normally undefine this configuration macro when building a * version of FreeType that doesn't contain a Type~1 or CFF driver. */ -/* #define FT_CONFIG_OPTION_POSTSCRIPT_NAMES */ +#define FT_CONFIG_OPTION_POSTSCRIPT_NAMES /************************************************************************** diff --git a/xcode/freetype/freetype.xcodeproj/project.pbxproj b/xcode/freetype/freetype.xcodeproj/project.pbxproj index 08a20ad177..3f24c387b5 100644 --- a/xcode/freetype/freetype.xcodeproj/project.pbxproj +++ b/xcode/freetype/freetype.xcodeproj/project.pbxproj @@ -105,138 +105,81 @@ FA2A3CB82747063E00E587B6 /* ftbdf.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A39AB2747063C00E587B6 /* ftbdf.h */; }; FA2A3CB92747063E00E587B6 /* ftrender.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A39AC2747063C00E587B6 /* ftrender.h */; }; FA2A3CE82747063E00E587B6 /* ftsdferrs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AC02747063C00E587B6 /* ftsdferrs.h */; }; - FA2A3CE92747063E00E587B6 /* ftbsdf.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AC12747063C00E587B6 /* ftbsdf.c */; }; FA2A3CEA2747063E00E587B6 /* ftsdfcommon.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AC22747063C00E587B6 /* ftsdfcommon.h */; }; FA2A3CEB2747063E00E587B6 /* ftsdfrend.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AC32747063C00E587B6 /* ftsdfrend.h */; }; - FA2A3CEC2747063E00E587B6 /* ftsdf.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AC42747063C00E587B6 /* ftsdf.c */; }; FA2A3CED2747063E00E587B6 /* sdf.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AC62747063C00E587B6 /* sdf.c */; }; - FA2A3CEE2747063E00E587B6 /* ftsdfrend.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AC72747063C00E587B6 /* ftsdfrend.c */; }; - FA2A3CEF2747063E00E587B6 /* ftsdfcommon.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AC82747063C00E587B6 /* ftsdfcommon.c */; }; FA2A3CF02747063E00E587B6 /* ftsdf.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3ACA2747063C00E587B6 /* ftsdf.h */; }; - FA2A3CF12747063E00E587B6 /* ftcmanag.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3ACC2747063C00E587B6 /* ftcmanag.c */; }; - FA2A3CF22747063E00E587B6 /* ftccmap.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3ACD2747063C00E587B6 /* ftccmap.c */; }; FA2A3CF32747063E00E587B6 /* ftcglyph.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3ACE2747063C00E587B6 /* ftcglyph.h */; }; FA2A3CF42747063E00E587B6 /* ftcimage.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3ACF2747063C00E587B6 /* ftcimage.h */; }; FA2A3CF52747063E00E587B6 /* ftcsbits.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AD02747063C00E587B6 /* ftcsbits.h */; }; FA2A3CF62747063E00E587B6 /* ftccback.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AD12747063C00E587B6 /* ftccback.h */; }; - FA2A3CF72747063E00E587B6 /* ftccache.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AD22747063C00E587B6 /* ftccache.c */; }; - FA2A3CF82747063E00E587B6 /* ftcmru.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AD32747063C00E587B6 /* ftcmru.c */; }; - FA2A3CF92747063E00E587B6 /* ftcglyph.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AD42747063C00E587B6 /* ftcglyph.c */; }; - FA2A3CFA2747063E00E587B6 /* ftcimage.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AD52747063C00E587B6 /* ftcimage.c */; }; FA2A3CFB2747063E00E587B6 /* ftcmanag.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AD62747063C00E587B6 /* ftcmanag.h */; }; FA2A3CFC2747063E00E587B6 /* ftccache.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AD72747063C00E587B6 /* ftccache.h */; }; - FA2A3CFD2747063E00E587B6 /* ftcsbits.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AD82747063C00E587B6 /* ftcsbits.c */; }; FA2A3CFE2747063E00E587B6 /* ftcache.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3ADA2747063C00E587B6 /* ftcache.c */; }; - FA2A3CFF2747063E00E587B6 /* ftcbasic.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3ADB2747063C00E587B6 /* ftcbasic.c */; }; FA2A3D002747063E00E587B6 /* ftcmru.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3ADC2747063C00E587B6 /* ftcmru.h */; }; FA2A3D012747063E00E587B6 /* ftcerror.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3ADD2747063C00E587B6 /* ftcerror.h */; }; - FA2A3D022747063E00E587B6 /* sfobjs.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3ADF2747063C00E587B6 /* sfobjs.c */; }; FA2A3D032747063E00E587B6 /* ttcmap.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AE02747063C00E587B6 /* ttcmap.h */; }; FA2A3D042747063E00E587B6 /* ttpost.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AE12747063C00E587B6 /* ttpost.h */; }; - FA2A3D052747063E00E587B6 /* ttkern.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AE22747063C00E587B6 /* ttkern.c */; }; FA2A3D062747063E00E587B6 /* ttcolr.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AE32747063C00E587B6 /* ttcolr.h */; }; - FA2A3D072747063E00E587B6 /* sfwoff.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AE42747063C00E587B6 /* sfwoff.c */; }; FA2A3D082747063E00E587B6 /* pngshim.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AE52747063C00E587B6 /* pngshim.h */; }; - FA2A3D092747063E00E587B6 /* ttmtx.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AE62747063C00E587B6 /* ttmtx.c */; }; FA2A3D0A2747063E00E587B6 /* ttload.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AE72747063C00E587B6 /* ttload.h */; }; FA2A3D0B2747063E00E587B6 /* sfwoff2.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AE82747063C00E587B6 /* sfwoff2.h */; }; - FA2A3D0C2747063E00E587B6 /* sfdriver.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AE92747063C00E587B6 /* sfdriver.c */; }; - FA2A3D0D2747063E00E587B6 /* ttsbit.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AEA2747063C00E587B6 /* ttsbit.c */; }; - FA2A3D0E2747063E00E587B6 /* woff2tags.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AEB2747063C00E587B6 /* woff2tags.c */; }; FA2A3D0F2747063E00E587B6 /* ttbdf.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AEC2747063C00E587B6 /* ttbdf.h */; }; FA2A3D102747063E00E587B6 /* ttcmapc.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AED2747063C00E587B6 /* ttcmapc.h */; }; - FA2A3D112747063E00E587B6 /* ttcpal.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AEF2747063C00E587B6 /* ttcpal.c */; }; FA2A3D122747063E00E587B6 /* ttkern.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AF02747063C00E587B6 /* ttkern.h */; }; - FA2A3D132747063E00E587B6 /* ttpost.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AF12747063C00E587B6 /* ttpost.c */; }; FA2A3D142747063E00E587B6 /* sfnt.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AF22747063C00E587B6 /* sfnt.c */; }; FA2A3D152747063E00E587B6 /* sfobjs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AF32747063C00E587B6 /* sfobjs.h */; }; - FA2A3D162747063E00E587B6 /* ttcmap.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AF42747063C00E587B6 /* ttcmap.c */; }; FA2A3D172747063E00E587B6 /* ttmtx.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AF52747063C00E587B6 /* ttmtx.h */; }; - FA2A3D182747063E00E587B6 /* pngshim.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AF62747063C00E587B6 /* pngshim.c */; }; - FA2A3D192747063E00E587B6 /* ttcolr.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AF72747063C00E587B6 /* ttcolr.c */; }; FA2A3D1A2747063E00E587B6 /* sfwoff.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AF82747063C00E587B6 /* sfwoff.h */; }; FA2A3D1B2747063E00E587B6 /* ttsbit.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AF92747063C00E587B6 /* ttsbit.h */; }; FA2A3D1C2747063E00E587B6 /* sfdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AFB2747063C00E587B6 /* sfdriver.h */; }; - FA2A3D1D2747063E00E587B6 /* sfwoff2.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AFC2747063C00E587B6 /* sfwoff2.c */; }; - FA2A3D1E2747063E00E587B6 /* ttload.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3AFD2747063C00E587B6 /* ttload.c */; }; FA2A3D1F2747063E00E587B6 /* sferrors.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AFE2747063C00E587B6 /* sferrors.h */; }; FA2A3D202747063E00E587B6 /* ttcpal.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3AFF2747063C00E587B6 /* ttcpal.h */; }; - FA2A3D212747063E00E587B6 /* ttbdf.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3B002747063C00E587B6 /* ttbdf.c */; }; FA2A3D222747063E00E587B6 /* woff2tags.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3B012747063C00E587B6 /* woff2tags.h */; }; FA2A3DBD2747063E00E587B6 /* otvalid.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BBE2747063D00E587B6 /* otvalid.c */; }; - FA2A3DBE2747063E00E587B6 /* otvjstf.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BBF2747063D00E587B6 /* otvjstf.c */; }; - FA2A3DBF2747063E00E587B6 /* otvgsub.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BC02747063D00E587B6 /* otvgsub.c */; }; - FA2A3DC02747063E00E587B6 /* otvbase.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BC12747063D00E587B6 /* otvbase.c */; }; FA2A3DC12747063E00E587B6 /* otvgpos.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BC22747063D00E587B6 /* otvgpos.h */; }; FA2A3DC22747063E00E587B6 /* otvmod.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BC32747063D00E587B6 /* otvmod.h */; }; FA2A3DC32747063E00E587B6 /* otvcommn.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BC42747063D00E587B6 /* otvcommn.h */; }; - FA2A3DC42747063E00E587B6 /* otvmath.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BC52747063D00E587B6 /* otvmath.c */; }; - FA2A3DC52747063F00E587B6 /* otvgdef.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BC72747063D00E587B6 /* otvgdef.c */; }; FA2A3DC62747063F00E587B6 /* otvalid.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BC82747063D00E587B6 /* otvalid.h */; }; - FA2A3DC72747063F00E587B6 /* otvgpos.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BC92747063D00E587B6 /* otvgpos.c */; }; FA2A3DC82747063F00E587B6 /* otverror.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BCA2747063D00E587B6 /* otverror.h */; }; - FA2A3DC92747063F00E587B6 /* otvcommn.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BCB2747063D00E587B6 /* otvcommn.c */; }; - FA2A3DCA2747063F00E587B6 /* otvmod.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BCD2747063D00E587B6 /* otvmod.c */; }; FA2A3DCB2747063F00E587B6 /* afws-decl.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BCF2747063D00E587B6 /* afws-decl.h */; }; FA2A3DCC2747063F00E587B6 /* afindic.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BD02747063D00E587B6 /* afindic.h */; }; FA2A3DCD2747063F00E587B6 /* afdummy.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BD12747063D00E587B6 /* afdummy.h */; }; FA2A3DCE2747063F00E587B6 /* afmodule.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BD22747063D00E587B6 /* afmodule.h */; }; - FA2A3DCF2747063F00E587B6 /* afglobal.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BD42747063D00E587B6 /* afglobal.c */; }; FA2A3DD02747063F00E587B6 /* afcover.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BD52747063D00E587B6 /* afcover.h */; }; - FA2A3DD12747063F00E587B6 /* afblue.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BD62747063D00E587B6 /* afblue.c */; }; - FA2A3DD22747063F00E587B6 /* afshaper.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BD72747063D00E587B6 /* afshaper.c */; }; FA2A3DD32747063F00E587B6 /* afhints.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BD82747063D00E587B6 /* afhints.h */; }; - FA2A3DD42747063F00E587B6 /* aflatin.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BD92747063D00E587B6 /* aflatin.c */; }; FA2A3DD52747063F00E587B6 /* afloader.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BDA2747063D00E587B6 /* afloader.h */; }; - FA2A3DD62747063F00E587B6 /* afranges.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BDB2747063D00E587B6 /* afranges.c */; }; FA2A3DD72747063F00E587B6 /* afws-iter.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BDC2747063D00E587B6 /* afws-iter.h */; }; - FA2A3DD82747063F00E587B6 /* afcjk.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BDE2747063D00E587B6 /* afcjk.c */; }; FA2A3DD92747063F00E587B6 /* afstyles.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BDF2747063D00E587B6 /* afstyles.h */; }; FA2A3DDA2747063F00E587B6 /* aferrors.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BE12747063D00E587B6 /* aferrors.h */; }; - FA2A3DDB2747063F00E587B6 /* afdummy.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BE22747063D00E587B6 /* afdummy.c */; }; - FA2A3DDC2747063F00E587B6 /* afindic.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BE32747063D00E587B6 /* afindic.c */; }; FA2A3DDD2747063F00E587B6 /* autofit.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BE42747063D00E587B6 /* autofit.c */; }; FA2A3DDE2747063F00E587B6 /* afglobal.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BE52747063D00E587B6 /* afglobal.h */; }; - FA2A3DDF2747063F00E587B6 /* afmodule.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BE62747063D00E587B6 /* afmodule.c */; }; FA2A3DE02747063F00E587B6 /* afblue.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BE72747063D00E587B6 /* afblue.h */; }; FA2A3DE12747063F00E587B6 /* afshaper.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BE82747063D00E587B6 /* afshaper.h */; }; FA2A3DE22747063F00E587B6 /* afscript.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BE92747063D00E587B6 /* afscript.h */; }; FA2A3DE32747063F00E587B6 /* aftypes.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BEB2747063D00E587B6 /* aftypes.h */; }; FA2A3DE42747063F00E587B6 /* afcjk.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BEC2747063D00E587B6 /* afcjk.h */; }; FA2A3DE52747063F00E587B6 /* afranges.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BED2747063D00E587B6 /* afranges.h */; }; - FA2A3DE62747063F00E587B6 /* afloader.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BEF2747063D00E587B6 /* afloader.c */; }; FA2A3DE72747063F00E587B6 /* aflatin.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3BF02747063D00E587B6 /* aflatin.h */; }; - FA2A3DE82747063F00E587B6 /* afhints.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3BF12747063D00E587B6 /* afhints.c */; }; - FA2A3DF32747063F00E587B6 /* ttinterp.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3C002747063D00E587B6 /* ttinterp.c */; }; - FA2A3DF42747063F00E587B6 /* ttpload.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3C012747063D00E587B6 /* ttpload.c */; }; - FA2A3DF52747063F00E587B6 /* ttgxvar.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3C022747063D00E587B6 /* ttgxvar.c */; }; FA2A3DF62747063F00E587B6 /* ttsubpix.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C032747063D00E587B6 /* ttsubpix.h */; }; FA2A3DF72747063F00E587B6 /* tterrors.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C042747063D00E587B6 /* tterrors.h */; }; FA2A3DF82747063F00E587B6 /* ttdriver.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C052747063D00E587B6 /* ttdriver.h */; }; FA2A3DF92747063F00E587B6 /* truetype.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3C062747063D00E587B6 /* truetype.c */; }; - FA2A3DFA2747063F00E587B6 /* ttobjs.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3C072747063D00E587B6 /* ttobjs.c */; }; FA2A3DFB2747063F00E587B6 /* ttgload.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C082747063D00E587B6 /* ttgload.h */; }; FA2A3DFC2747063F00E587B6 /* ttgxvar.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C0A2747063D00E587B6 /* ttgxvar.h */; }; FA2A3DFD2747063F00E587B6 /* ttpload.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C0B2747063D00E587B6 /* ttpload.h */; }; FA2A3DFE2747063F00E587B6 /* ttinterp.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C0C2747063D00E587B6 /* ttinterp.h */; }; - FA2A3DFF2747063F00E587B6 /* ttdriver.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3C0D2747063D00E587B6 /* ttdriver.c */; }; - FA2A3E002747063F00E587B6 /* ttsubpix.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3C0E2747063D00E587B6 /* ttsubpix.c */; }; FA2A3E012747063F00E587B6 /* ttobjs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C0F2747063D00E587B6 /* ttobjs.h */; }; - FA2A3E022747063F00E587B6 /* ttgload.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3C112747063D00E587B6 /* ttgload.c */; }; FA2A3E032747063F00E587B6 /* ftmisc.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C132747063D00E587B6 /* ftmisc.h */; }; FA2A3E042747063F00E587B6 /* rasterrs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C142747063D00E587B6 /* rasterrs.h */; }; FA2A3E052747063F00E587B6 /* ftrend1.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C152747063D00E587B6 /* ftrend1.h */; }; FA2A3E062747063F00E587B6 /* ftraster.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C162747063D00E587B6 /* ftraster.h */; }; - FA2A3E072747063F00E587B6 /* ftraster.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3C192747063D00E587B6 /* ftraster.c */; }; FA2A3E082747063F00E587B6 /* raster.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3C1A2747063D00E587B6 /* raster.c */; }; - FA2A3E092747063F00E587B6 /* ftrend1.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3C1B2747063D00E587B6 /* ftrend1.c */; }; FA2A3E392747063F00E587B6 /* ft2build.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C532747063D00E587B6 /* ft2build.h */; }; FA2A3E3A2747063F00E587B6 /* ft_organicmaps_options.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3C552747063D00E587B6 /* ft_organicmaps_options.h */; }; - FA2A3E4427470B9E00E587B6 /* ftgrays.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3E3C27470B9E00E587B6 /* ftgrays.c */; }; FA2A3E4527470B9E00E587B6 /* ftsmooth.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3E3D27470B9E00E587B6 /* ftsmooth.h */; }; FA2A3E4627470B9E00E587B6 /* ftsmerrs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3E3F27470B9E00E587B6 /* ftsmerrs.h */; }; FA2A3E4727470B9E00E587B6 /* ftgrays.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3E4027470B9E00E587B6 /* ftgrays.h */; }; - FA2A3E4827470B9E00E587B6 /* ftsmooth.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3E4127470B9E00E587B6 /* ftsmooth.c */; }; FA2A3E4927470B9E00E587B6 /* smooth.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3E4327470B9E00E587B6 /* smooth.c */; }; FA2A3E5D2748608100E587B6 /* ftwinfnt.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3E4A2748608000E587B6 /* ftwinfnt.c */; }; FA2A3E5E2748608100E587B6 /* ftgasp.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3E4B2748608000E587B6 /* ftgasp.c */; }; @@ -259,6 +202,91 @@ FA2A3E6F2748608100E587B6 /* ftbdf.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3E5C2748608100E587B6 /* ftbdf.c */; }; FA2A3F19274864F700E587B6 /* ftsystem.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3F18274864F700E587B6 /* ftsystem.c */; }; FA2A3F1B2748657D00E587B6 /* ftdebug.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3F1A2748657D00E587B6 /* ftdebug.c */; }; + FA2A3F90274C5E2900E587B6 /* cffload.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F1E274C5E2800E587B6 /* cffload.h */; }; + FA2A3F93274C5E2900E587B6 /* cffparse.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F21274C5E2800E587B6 /* cffparse.h */; }; + FA2A3F94274C5E2900E587B6 /* cffcmap.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F22274C5E2800E587B6 /* cffcmap.h */; }; + FA2A3F97274C5E2900E587B6 /* cff.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3F26274C5E2800E587B6 /* cff.c */; }; + FA2A3F98274C5E2900E587B6 /* cfftoken.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F27274C5E2800E587B6 /* cfftoken.h */; }; + FA2A3F99274C5E2900E587B6 /* cffobjs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F28274C5E2800E587B6 /* cffobjs.h */; }; + FA2A3F9A274C5E2900E587B6 /* cffgload.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F29274C5E2800E587B6 /* cffgload.h */; }; + FA2A3F9C274C5E2900E587B6 /* cffdrivr.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F2B274C5E2800E587B6 /* cffdrivr.h */; }; + FA2A3F9E274C5E2900E587B6 /* cfferrs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F2E274C5E2800E587B6 /* cfferrs.h */; }; + FA2A3F9F274C5E2900E587B6 /* psnamerr.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F30274C5E2800E587B6 /* psnamerr.h */; }; + FA2A3FA1274C5E2900E587B6 /* pstables.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F33274C5E2800E587B6 /* pstables.h */; }; + FA2A3FA2274C5E2900E587B6 /* psnames.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3F34274C5E2800E587B6 /* psnames.c */; }; + FA2A3FA3274C5E2900E587B6 /* psmodule.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F36274C5E2800E587B6 /* psmodule.h */; }; + FA2A3FA4274C5E2900E587B6 /* psarrst.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F38274C5E2900E587B6 /* psarrst.h */; }; + FA2A3FA5274C5E2900E587B6 /* psstack.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F39274C5E2900E587B6 /* psstack.h */; }; + FA2A3FA6274C5E2900E587B6 /* cffdecode.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F3A274C5E2900E587B6 /* cffdecode.h */; }; + FA2A3FA7274C5E2900E587B6 /* psblues.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F3B274C5E2900E587B6 /* psblues.h */; }; + FA2A3FA8274C5E2900E587B6 /* psauxerr.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F3C274C5E2900E587B6 /* psauxerr.h */; }; + FA2A3FAB274C5E2900E587B6 /* pshints.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F3F274C5E2900E587B6 /* pshints.h */; }; + FA2A3FAE274C5E2900E587B6 /* t1cmap.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F42274C5E2900E587B6 /* t1cmap.h */; }; + FA2A3FB2274C5E2900E587B6 /* afmparse.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F46274C5E2900E587B6 /* afmparse.h */; }; + FA2A3FB3274C5E2900E587B6 /* psintrp.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F47274C5E2900E587B6 /* psintrp.h */; }; + FA2A3FB4274C5E2900E587B6 /* psft.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F48274C5E2900E587B6 /* psft.h */; }; + FA2A3FB5274C5E2900E587B6 /* psglue.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F4A274C5E2900E587B6 /* psglue.h */; }; + FA2A3FB9274C5E2900E587B6 /* pstypes.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F4E274C5E2900E587B6 /* pstypes.h */; }; + FA2A3FBA274C5E2900E587B6 /* psfixed.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F4F274C5E2900E587B6 /* psfixed.h */; }; + FA2A3FBD274C5E2900E587B6 /* psaux.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3F52274C5E2900E587B6 /* psaux.c */; }; + FA2A3FBE274C5E2900E587B6 /* pserror.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F53274C5E2900E587B6 /* pserror.h */; }; + FA2A3FBF274C5E2900E587B6 /* t1decode.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F54274C5E2900E587B6 /* t1decode.h */; }; + FA2A3FC1274C5E2900E587B6 /* psobjs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F56274C5E2900E587B6 /* psobjs.h */; }; + FA2A3FC2274C5E2900E587B6 /* psfont.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F58274C5E2900E587B6 /* psfont.h */; }; + FA2A3FC5274C5E2900E587B6 /* psconv.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F5B274C5E2900E587B6 /* psconv.h */; }; + FA2A3FC7274C5E2900E587B6 /* psauxmod.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F5D274C5E2900E587B6 /* psauxmod.h */; }; + FA2A3FC8274C5E2900E587B6 /* psread.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F5E274C5E2900E587B6 /* psread.h */; }; + FA2A3FCA274C5E2900E587B6 /* t42drivr.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F61274C5E2900E587B6 /* t42drivr.h */; }; + FA2A3FCB274C5E2900E587B6 /* type42.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3F62274C5E2900E587B6 /* type42.c */; }; + FA2A3FCC274C5E2900E587B6 /* t42objs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F64274C5E2900E587B6 /* t42objs.h */; }; + FA2A3FCD274C5E2900E587B6 /* t42parse.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F65274C5E2900E587B6 /* t42parse.h */; }; + FA2A3FCE274C5E2900E587B6 /* t42types.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F66274C5E2900E587B6 /* t42types.h */; }; + FA2A3FD0274C5E2900E587B6 /* t42error.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F69274C5E2900E587B6 /* t42error.h */; }; + FA2A3FD2274C5E2900E587B6 /* winfnt.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F6C274C5E2900E587B6 /* winfnt.h */; }; + FA2A3FD3274C5E2900E587B6 /* winfnt.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3F6E274C5E2900E587B6 /* winfnt.c */; }; + FA2A3FD4274C5E2900E587B6 /* fnterrs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F70274C5E2900E587B6 /* fnterrs.h */; }; + FA2A3FD6274C5E2900E587B6 /* pshrec.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F73274C5E2900E587B6 /* pshrec.h */; }; + FA2A3FD7274C5E2900E587B6 /* pshglob.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F74274C5E2900E587B6 /* pshglob.h */; }; + FA2A3FD9274C5E2900E587B6 /* pshmod.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F77274C5E2900E587B6 /* pshmod.h */; }; + FA2A3FDA274C5E2900E587B6 /* pshinter.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3F78274C5E2900E587B6 /* pshinter.c */; }; + FA2A3FDB274C5E2900E587B6 /* pshnterr.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F79274C5E2900E587B6 /* pshnterr.h */; }; + FA2A3FDD274C5E2900E587B6 /* pshalgo.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F7C274C5E2900E587B6 /* pshalgo.h */; }; + FA2A3FE0274C5E2900E587B6 /* t1load.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F80274C5E2900E587B6 /* t1load.h */; }; + FA2A3FE1274C5E2900E587B6 /* t1afm.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F81274C5E2900E587B6 /* t1afm.h */; }; + FA2A3FE2274C5E2900E587B6 /* t1driver.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F82274C5E2900E587B6 /* t1driver.h */; }; + FA2A3FE3274C5E2900E587B6 /* t1tokens.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F83274C5E2900E587B6 /* t1tokens.h */; }; + FA2A3FE4274C5E2900E587B6 /* t1errors.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F84274C5E2900E587B6 /* t1errors.h */; }; + FA2A3FE6274C5E2900E587B6 /* t1parse.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F86274C5E2900E587B6 /* t1parse.h */; }; + FA2A3FE9274C5E2900E587B6 /* t1objs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F8A274C5E2900E587B6 /* t1objs.h */; }; + FA2A3FEA274C5E2900E587B6 /* type1.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3F8B274C5E2900E587B6 /* type1.c */; }; + FA2A3FED274C5E2900E587B6 /* t1gload.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3F8F274C5E2900E587B6 /* t1gload.h */; }; + FA2A401D274C5EF000E587B6 /* cidtoken.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3FEF274C5EF000E587B6 /* cidtoken.h */; }; + FA2A4020274C5EF000E587B6 /* cidgload.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3FF2274C5EF000E587B6 /* cidgload.h */; }; + FA2A4022274C5EF000E587B6 /* cidobjs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3FF4274C5EF000E587B6 /* cidobjs.h */; }; + FA2A4023274C5EF000E587B6 /* ciderrs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3FF5274C5EF000E587B6 /* ciderrs.h */; }; + FA2A4025274C5EF000E587B6 /* cidriver.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3FF8274C5EF000E587B6 /* cidriver.h */; }; + FA2A4026274C5EF000E587B6 /* cidparse.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3FF9274C5EF000E587B6 /* cidparse.h */; }; + FA2A4028274C5EF000E587B6 /* cidload.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3FFB274C5EF000E587B6 /* cidload.h */; }; + FA2A4029274C5EF000E587B6 /* type1cid.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A3FFC274C5EF000E587B6 /* type1cid.c */; }; + FA2A402A274C5EF000E587B6 /* pcf.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A3FFF274C5EF000E587B6 /* pcf.h */; }; + FA2A402C274C5EF000E587B6 /* pcfdrivr.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A4001274C5EF000E587B6 /* pcfdrivr.h */; }; + FA2A402E274C5EF000E587B6 /* pcf.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A4005274C5EF000E587B6 /* pcf.c */; }; + FA2A402F274C5EF000E587B6 /* pcfutil.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A4006274C5EF000E587B6 /* pcfutil.h */; }; + FA2A4030274C5EF000E587B6 /* pcfread.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A4008274C5EF000E587B6 /* pcfread.h */; }; + FA2A4032274C5EF000E587B6 /* pcferror.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A400A274C5EF000E587B6 /* pcferror.h */; }; + FA2A4033274C5EF000E587B6 /* pfr.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A400C274C5EF000E587B6 /* pfr.c */; }; + FA2A4036274C5EF000E587B6 /* pfrerror.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A400F274C5EF000E587B6 /* pfrerror.h */; }; + FA2A4038274C5EF000E587B6 /* pfrload.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A4011274C5EF000E587B6 /* pfrload.h */; }; + FA2A4039274C5EF000E587B6 /* pfrtypes.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A4012274C5EF000E587B6 /* pfrtypes.h */; }; + FA2A403B274C5EF100E587B6 /* pfrcmap.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A4014274C5EF000E587B6 /* pfrcmap.h */; }; + FA2A403D274C5EF100E587B6 /* pfrobjs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A4017274C5EF000E587B6 /* pfrobjs.h */; }; + FA2A403E274C5EF100E587B6 /* pfrdrivr.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A4018274C5EF000E587B6 /* pfrdrivr.h */; }; + FA2A403F274C5EF100E587B6 /* pfrsbit.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A4019274C5EF000E587B6 /* pfrsbit.h */; }; + FA2A4041274C5EF100E587B6 /* pfrgload.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A401B274C5EF000E587B6 /* pfrgload.h */; }; + FA2A404D274C5F3200E587B6 /* bdferror.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A4044274C5F3200E587B6 /* bdferror.h */; }; + FA2A404F274C5F3200E587B6 /* bdf.c in Sources */ = {isa = PBXBuildFile; fileRef = FA2A4046274C5F3200E587B6 /* bdf.c */; }; + FA2A4050274C5F3200E587B6 /* bdfdrivr.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A4049274C5F3200E587B6 /* bdfdrivr.h */; }; + FA2A4051274C5F3200E587B6 /* bdf.h in Headers */ = {isa = PBXBuildFile; fileRef = FA2A404A274C5F3200E587B6 /* bdf.h */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -363,143 +391,84 @@ FA2A39AB2747063C00E587B6 /* ftbdf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftbdf.h; sourceTree = ""; }; FA2A39AC2747063C00E587B6 /* ftrender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftrender.h; sourceTree = ""; }; FA2A3AC02747063C00E587B6 /* ftsdferrs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftsdferrs.h; sourceTree = ""; }; - FA2A3AC12747063C00E587B6 /* ftbsdf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftbsdf.c; sourceTree = ""; }; FA2A3AC22747063C00E587B6 /* ftsdfcommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftsdfcommon.h; sourceTree = ""; }; FA2A3AC32747063C00E587B6 /* ftsdfrend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftsdfrend.h; sourceTree = ""; }; - FA2A3AC42747063C00E587B6 /* ftsdf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftsdf.c; sourceTree = ""; }; FA2A3AC62747063C00E587B6 /* sdf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sdf.c; sourceTree = ""; }; - FA2A3AC72747063C00E587B6 /* ftsdfrend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftsdfrend.c; sourceTree = ""; }; - FA2A3AC82747063C00E587B6 /* ftsdfcommon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftsdfcommon.c; sourceTree = ""; }; FA2A3ACA2747063C00E587B6 /* ftsdf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftsdf.h; sourceTree = ""; }; - FA2A3ACC2747063C00E587B6 /* ftcmanag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftcmanag.c; sourceTree = ""; }; - FA2A3ACD2747063C00E587B6 /* ftccmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftccmap.c; sourceTree = ""; }; FA2A3ACE2747063C00E587B6 /* ftcglyph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftcglyph.h; sourceTree = ""; }; FA2A3ACF2747063C00E587B6 /* ftcimage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftcimage.h; sourceTree = ""; }; FA2A3AD02747063C00E587B6 /* ftcsbits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftcsbits.h; sourceTree = ""; }; FA2A3AD12747063C00E587B6 /* ftccback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftccback.h; sourceTree = ""; }; - FA2A3AD22747063C00E587B6 /* ftccache.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftccache.c; sourceTree = ""; }; - FA2A3AD32747063C00E587B6 /* ftcmru.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftcmru.c; sourceTree = ""; }; - FA2A3AD42747063C00E587B6 /* ftcglyph.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftcglyph.c; sourceTree = ""; }; - FA2A3AD52747063C00E587B6 /* ftcimage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftcimage.c; sourceTree = ""; }; FA2A3AD62747063C00E587B6 /* ftcmanag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftcmanag.h; sourceTree = ""; }; FA2A3AD72747063C00E587B6 /* ftccache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftccache.h; sourceTree = ""; }; - FA2A3AD82747063C00E587B6 /* ftcsbits.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftcsbits.c; sourceTree = ""; }; FA2A3ADA2747063C00E587B6 /* ftcache.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftcache.c; sourceTree = ""; }; - FA2A3ADB2747063C00E587B6 /* ftcbasic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftcbasic.c; sourceTree = ""; }; FA2A3ADC2747063C00E587B6 /* ftcmru.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftcmru.h; sourceTree = ""; }; FA2A3ADD2747063C00E587B6 /* ftcerror.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftcerror.h; sourceTree = ""; }; - FA2A3ADF2747063C00E587B6 /* sfobjs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sfobjs.c; sourceTree = ""; }; FA2A3AE02747063C00E587B6 /* ttcmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttcmap.h; sourceTree = ""; }; FA2A3AE12747063C00E587B6 /* ttpost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttpost.h; sourceTree = ""; }; - FA2A3AE22747063C00E587B6 /* ttkern.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkern.c; sourceTree = ""; }; FA2A3AE32747063C00E587B6 /* ttcolr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttcolr.h; sourceTree = ""; }; - FA2A3AE42747063C00E587B6 /* sfwoff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sfwoff.c; sourceTree = ""; }; FA2A3AE52747063C00E587B6 /* pngshim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pngshim.h; sourceTree = ""; }; - FA2A3AE62747063C00E587B6 /* ttmtx.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttmtx.c; sourceTree = ""; }; FA2A3AE72747063C00E587B6 /* ttload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttload.h; sourceTree = ""; }; FA2A3AE82747063C00E587B6 /* sfwoff2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sfwoff2.h; sourceTree = ""; }; - FA2A3AE92747063C00E587B6 /* sfdriver.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sfdriver.c; sourceTree = ""; }; - FA2A3AEA2747063C00E587B6 /* ttsbit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttsbit.c; sourceTree = ""; }; - FA2A3AEB2747063C00E587B6 /* woff2tags.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = woff2tags.c; sourceTree = ""; }; FA2A3AEC2747063C00E587B6 /* ttbdf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttbdf.h; sourceTree = ""; }; FA2A3AED2747063C00E587B6 /* ttcmapc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttcmapc.h; sourceTree = ""; }; - FA2A3AEF2747063C00E587B6 /* ttcpal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttcpal.c; sourceTree = ""; }; FA2A3AF02747063C00E587B6 /* ttkern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkern.h; sourceTree = ""; }; - FA2A3AF12747063C00E587B6 /* ttpost.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttpost.c; sourceTree = ""; }; FA2A3AF22747063C00E587B6 /* sfnt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sfnt.c; sourceTree = ""; }; FA2A3AF32747063C00E587B6 /* sfobjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sfobjs.h; sourceTree = ""; }; - FA2A3AF42747063C00E587B6 /* ttcmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttcmap.c; sourceTree = ""; }; FA2A3AF52747063C00E587B6 /* ttmtx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttmtx.h; sourceTree = ""; }; - FA2A3AF62747063C00E587B6 /* pngshim.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pngshim.c; sourceTree = ""; }; - FA2A3AF72747063C00E587B6 /* ttcolr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttcolr.c; sourceTree = ""; }; FA2A3AF82747063C00E587B6 /* sfwoff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sfwoff.h; sourceTree = ""; }; FA2A3AF92747063C00E587B6 /* ttsbit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttsbit.h; sourceTree = ""; }; FA2A3AFB2747063C00E587B6 /* sfdriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sfdriver.h; sourceTree = ""; }; - FA2A3AFC2747063C00E587B6 /* sfwoff2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sfwoff2.c; sourceTree = ""; }; - FA2A3AFD2747063C00E587B6 /* ttload.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttload.c; sourceTree = ""; }; FA2A3AFE2747063C00E587B6 /* sferrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sferrors.h; sourceTree = ""; }; FA2A3AFF2747063C00E587B6 /* ttcpal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttcpal.h; sourceTree = ""; }; - FA2A3B002747063C00E587B6 /* ttbdf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttbdf.c; sourceTree = ""; }; FA2A3B012747063C00E587B6 /* woff2tags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = woff2tags.h; sourceTree = ""; }; FA2A3BBE2747063D00E587B6 /* otvalid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = otvalid.c; sourceTree = ""; }; - FA2A3BBF2747063D00E587B6 /* otvjstf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = otvjstf.c; sourceTree = ""; }; - FA2A3BC02747063D00E587B6 /* otvgsub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = otvgsub.c; sourceTree = ""; }; - FA2A3BC12747063D00E587B6 /* otvbase.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = otvbase.c; sourceTree = ""; }; FA2A3BC22747063D00E587B6 /* otvgpos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = otvgpos.h; sourceTree = ""; }; FA2A3BC32747063D00E587B6 /* otvmod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = otvmod.h; sourceTree = ""; }; FA2A3BC42747063D00E587B6 /* otvcommn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = otvcommn.h; sourceTree = ""; }; - FA2A3BC52747063D00E587B6 /* otvmath.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = otvmath.c; sourceTree = ""; }; - FA2A3BC72747063D00E587B6 /* otvgdef.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = otvgdef.c; sourceTree = ""; }; FA2A3BC82747063D00E587B6 /* otvalid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = otvalid.h; sourceTree = ""; }; - FA2A3BC92747063D00E587B6 /* otvgpos.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = otvgpos.c; sourceTree = ""; }; FA2A3BCA2747063D00E587B6 /* otverror.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = otverror.h; sourceTree = ""; }; - FA2A3BCB2747063D00E587B6 /* otvcommn.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = otvcommn.c; sourceTree = ""; }; - FA2A3BCD2747063D00E587B6 /* otvmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = otvmod.c; sourceTree = ""; }; FA2A3BCF2747063D00E587B6 /* afws-decl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "afws-decl.h"; sourceTree = ""; }; FA2A3BD02747063D00E587B6 /* afindic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afindic.h; sourceTree = ""; }; FA2A3BD12747063D00E587B6 /* afdummy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afdummy.h; sourceTree = ""; }; FA2A3BD22747063D00E587B6 /* afmodule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afmodule.h; sourceTree = ""; }; FA2A3BD32747063D00E587B6 /* afblue.cin */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = afblue.cin; sourceTree = ""; }; - FA2A3BD42747063D00E587B6 /* afglobal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = afglobal.c; sourceTree = ""; }; FA2A3BD52747063D00E587B6 /* afcover.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afcover.h; sourceTree = ""; }; - FA2A3BD62747063D00E587B6 /* afblue.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = afblue.c; sourceTree = ""; }; - FA2A3BD72747063D00E587B6 /* afshaper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = afshaper.c; sourceTree = ""; }; FA2A3BD82747063D00E587B6 /* afhints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afhints.h; sourceTree = ""; }; - FA2A3BD92747063D00E587B6 /* aflatin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aflatin.c; sourceTree = ""; }; FA2A3BDA2747063D00E587B6 /* afloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afloader.h; sourceTree = ""; }; - FA2A3BDB2747063D00E587B6 /* afranges.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = afranges.c; sourceTree = ""; }; FA2A3BDC2747063D00E587B6 /* afws-iter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "afws-iter.h"; sourceTree = ""; }; - FA2A3BDD2747063D00E587B6 /* module.mk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = module.mk; sourceTree = ""; }; - FA2A3BDE2747063D00E587B6 /* afcjk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = afcjk.c; sourceTree = ""; }; FA2A3BDF2747063D00E587B6 /* afstyles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afstyles.h; sourceTree = ""; }; FA2A3BE02747063D00E587B6 /* afblue.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = afblue.dat; sourceTree = ""; }; FA2A3BE12747063D00E587B6 /* aferrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aferrors.h; sourceTree = ""; }; - FA2A3BE22747063D00E587B6 /* afdummy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = afdummy.c; sourceTree = ""; }; - FA2A3BE32747063D00E587B6 /* afindic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = afindic.c; sourceTree = ""; }; FA2A3BE42747063D00E587B6 /* autofit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = autofit.c; sourceTree = ""; }; FA2A3BE52747063D00E587B6 /* afglobal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afglobal.h; sourceTree = ""; }; - FA2A3BE62747063D00E587B6 /* afmodule.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = afmodule.c; sourceTree = ""; }; FA2A3BE72747063D00E587B6 /* afblue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afblue.h; sourceTree = ""; }; FA2A3BE82747063D00E587B6 /* afshaper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afshaper.h; sourceTree = ""; }; FA2A3BE92747063D00E587B6 /* afscript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afscript.h; sourceTree = ""; }; - FA2A3BEA2747063D00E587B6 /* rules.mk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rules.mk; sourceTree = ""; }; FA2A3BEB2747063D00E587B6 /* aftypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aftypes.h; sourceTree = ""; }; FA2A3BEC2747063D00E587B6 /* afcjk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afcjk.h; sourceTree = ""; }; FA2A3BED2747063D00E587B6 /* afranges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afranges.h; sourceTree = ""; }; FA2A3BEE2747063D00E587B6 /* afblue.hin */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = afblue.hin; sourceTree = ""; }; - FA2A3BEF2747063D00E587B6 /* afloader.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = afloader.c; sourceTree = ""; }; FA2A3BF02747063D00E587B6 /* aflatin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aflatin.h; sourceTree = ""; }; - FA2A3BF12747063D00E587B6 /* afhints.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = afhints.c; sourceTree = ""; }; - FA2A3C002747063D00E587B6 /* ttinterp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttinterp.c; sourceTree = ""; }; - FA2A3C012747063D00E587B6 /* ttpload.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttpload.c; sourceTree = ""; }; - FA2A3C022747063D00E587B6 /* ttgxvar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttgxvar.c; sourceTree = ""; }; FA2A3C032747063D00E587B6 /* ttsubpix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttsubpix.h; sourceTree = ""; }; FA2A3C042747063D00E587B6 /* tterrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tterrors.h; sourceTree = ""; }; FA2A3C052747063D00E587B6 /* ttdriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttdriver.h; sourceTree = ""; }; FA2A3C062747063D00E587B6 /* truetype.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = truetype.c; sourceTree = ""; }; - FA2A3C072747063D00E587B6 /* ttobjs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttobjs.c; sourceTree = ""; }; FA2A3C082747063D00E587B6 /* ttgload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttgload.h; sourceTree = ""; }; FA2A3C0A2747063D00E587B6 /* ttgxvar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttgxvar.h; sourceTree = ""; }; FA2A3C0B2747063D00E587B6 /* ttpload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttpload.h; sourceTree = ""; }; FA2A3C0C2747063D00E587B6 /* ttinterp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttinterp.h; sourceTree = ""; }; - FA2A3C0D2747063D00E587B6 /* ttdriver.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttdriver.c; sourceTree = ""; }; - FA2A3C0E2747063D00E587B6 /* ttsubpix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttsubpix.c; sourceTree = ""; }; FA2A3C0F2747063D00E587B6 /* ttobjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttobjs.h; sourceTree = ""; }; - FA2A3C112747063D00E587B6 /* ttgload.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttgload.c; sourceTree = ""; }; FA2A3C132747063D00E587B6 /* ftmisc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftmisc.h; sourceTree = ""; }; FA2A3C142747063D00E587B6 /* rasterrs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rasterrs.h; sourceTree = ""; }; FA2A3C152747063D00E587B6 /* ftrend1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftrend1.h; sourceTree = ""; }; FA2A3C162747063D00E587B6 /* ftraster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftraster.h; sourceTree = ""; }; - FA2A3C192747063D00E587B6 /* ftraster.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftraster.c; sourceTree = ""; }; FA2A3C1A2747063D00E587B6 /* raster.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = raster.c; sourceTree = ""; }; - FA2A3C1B2747063D00E587B6 /* ftrend1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftrend1.c; sourceTree = ""; }; FA2A3C532747063D00E587B6 /* ft2build.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ft2build.h; path = ../../3party/freetype/ft2build.h; sourceTree = ""; }; FA2A3C552747063D00E587B6 /* ft_organicmaps_options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ft_organicmaps_options.h; path = ../../3party/freetype/ft_organicmaps_options.h; sourceTree = ""; }; - FA2A3E3C27470B9E00E587B6 /* ftgrays.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftgrays.c; sourceTree = ""; }; FA2A3E3D27470B9E00E587B6 /* ftsmooth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftsmooth.h; sourceTree = ""; }; FA2A3E3F27470B9E00E587B6 /* ftsmerrs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftsmerrs.h; sourceTree = ""; }; FA2A3E4027470B9E00E587B6 /* ftgrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftgrays.h; sourceTree = ""; }; - FA2A3E4127470B9E00E587B6 /* ftsmooth.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftsmooth.c; sourceTree = ""; }; FA2A3E4327470B9E00E587B6 /* smooth.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = smooth.c; sourceTree = ""; }; FA2A3E4A2748608000E587B6 /* ftwinfnt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftwinfnt.c; sourceTree = ""; }; FA2A3E4B2748608000E587B6 /* ftgasp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftgasp.c; sourceTree = ""; }; @@ -522,6 +491,91 @@ FA2A3E5C2748608100E587B6 /* ftbdf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftbdf.c; sourceTree = ""; }; FA2A3F18274864F700E587B6 /* ftsystem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftsystem.c; sourceTree = ""; }; FA2A3F1A2748657D00E587B6 /* ftdebug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftdebug.c; sourceTree = ""; }; + FA2A3F1E274C5E2800E587B6 /* cffload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cffload.h; sourceTree = ""; }; + FA2A3F21274C5E2800E587B6 /* cffparse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cffparse.h; sourceTree = ""; }; + FA2A3F22274C5E2800E587B6 /* cffcmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cffcmap.h; sourceTree = ""; }; + FA2A3F26274C5E2800E587B6 /* cff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cff.c; sourceTree = ""; }; + FA2A3F27274C5E2800E587B6 /* cfftoken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfftoken.h; sourceTree = ""; }; + FA2A3F28274C5E2800E587B6 /* cffobjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cffobjs.h; sourceTree = ""; }; + FA2A3F29274C5E2800E587B6 /* cffgload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cffgload.h; sourceTree = ""; }; + FA2A3F2B274C5E2800E587B6 /* cffdrivr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cffdrivr.h; sourceTree = ""; }; + FA2A3F2E274C5E2800E587B6 /* cfferrs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfferrs.h; sourceTree = ""; }; + FA2A3F30274C5E2800E587B6 /* psnamerr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psnamerr.h; sourceTree = ""; }; + FA2A3F33274C5E2800E587B6 /* pstables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pstables.h; sourceTree = ""; }; + FA2A3F34274C5E2800E587B6 /* psnames.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = psnames.c; sourceTree = ""; }; + FA2A3F36274C5E2800E587B6 /* psmodule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psmodule.h; sourceTree = ""; }; + FA2A3F38274C5E2900E587B6 /* psarrst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psarrst.h; sourceTree = ""; }; + FA2A3F39274C5E2900E587B6 /* psstack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psstack.h; sourceTree = ""; }; + FA2A3F3A274C5E2900E587B6 /* cffdecode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cffdecode.h; sourceTree = ""; }; + FA2A3F3B274C5E2900E587B6 /* psblues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psblues.h; sourceTree = ""; }; + FA2A3F3C274C5E2900E587B6 /* psauxerr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psauxerr.h; sourceTree = ""; }; + FA2A3F3F274C5E2900E587B6 /* pshints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pshints.h; sourceTree = ""; }; + FA2A3F42274C5E2900E587B6 /* t1cmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t1cmap.h; sourceTree = ""; }; + FA2A3F46274C5E2900E587B6 /* afmparse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = afmparse.h; sourceTree = ""; }; + FA2A3F47274C5E2900E587B6 /* psintrp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psintrp.h; sourceTree = ""; }; + FA2A3F48274C5E2900E587B6 /* psft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psft.h; sourceTree = ""; }; + FA2A3F4A274C5E2900E587B6 /* psglue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psglue.h; sourceTree = ""; }; + FA2A3F4E274C5E2900E587B6 /* pstypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pstypes.h; sourceTree = ""; }; + FA2A3F4F274C5E2900E587B6 /* psfixed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psfixed.h; sourceTree = ""; }; + FA2A3F52274C5E2900E587B6 /* psaux.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = psaux.c; sourceTree = ""; }; + FA2A3F53274C5E2900E587B6 /* pserror.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pserror.h; sourceTree = ""; }; + FA2A3F54274C5E2900E587B6 /* t1decode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t1decode.h; sourceTree = ""; }; + FA2A3F56274C5E2900E587B6 /* psobjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psobjs.h; sourceTree = ""; }; + FA2A3F58274C5E2900E587B6 /* psfont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psfont.h; sourceTree = ""; }; + FA2A3F5B274C5E2900E587B6 /* psconv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psconv.h; sourceTree = ""; }; + FA2A3F5D274C5E2900E587B6 /* psauxmod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psauxmod.h; sourceTree = ""; }; + FA2A3F5E274C5E2900E587B6 /* psread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = psread.h; sourceTree = ""; }; + FA2A3F61274C5E2900E587B6 /* t42drivr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t42drivr.h; sourceTree = ""; }; + FA2A3F62274C5E2900E587B6 /* type42.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = type42.c; sourceTree = ""; }; + FA2A3F64274C5E2900E587B6 /* t42objs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t42objs.h; sourceTree = ""; }; + FA2A3F65274C5E2900E587B6 /* t42parse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t42parse.h; sourceTree = ""; }; + FA2A3F66274C5E2900E587B6 /* t42types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t42types.h; sourceTree = ""; }; + FA2A3F69274C5E2900E587B6 /* t42error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t42error.h; sourceTree = ""; }; + FA2A3F6C274C5E2900E587B6 /* winfnt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = winfnt.h; sourceTree = ""; }; + FA2A3F6E274C5E2900E587B6 /* winfnt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = winfnt.c; sourceTree = ""; }; + FA2A3F70274C5E2900E587B6 /* fnterrs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fnterrs.h; sourceTree = ""; }; + FA2A3F73274C5E2900E587B6 /* pshrec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pshrec.h; sourceTree = ""; }; + FA2A3F74274C5E2900E587B6 /* pshglob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pshglob.h; sourceTree = ""; }; + FA2A3F77274C5E2900E587B6 /* pshmod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pshmod.h; sourceTree = ""; }; + FA2A3F78274C5E2900E587B6 /* pshinter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pshinter.c; sourceTree = ""; }; + FA2A3F79274C5E2900E587B6 /* pshnterr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pshnterr.h; sourceTree = ""; }; + FA2A3F7C274C5E2900E587B6 /* pshalgo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pshalgo.h; sourceTree = ""; }; + FA2A3F80274C5E2900E587B6 /* t1load.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t1load.h; sourceTree = ""; }; + FA2A3F81274C5E2900E587B6 /* t1afm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t1afm.h; sourceTree = ""; }; + FA2A3F82274C5E2900E587B6 /* t1driver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t1driver.h; sourceTree = ""; }; + FA2A3F83274C5E2900E587B6 /* t1tokens.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t1tokens.h; sourceTree = ""; }; + FA2A3F84274C5E2900E587B6 /* t1errors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t1errors.h; sourceTree = ""; }; + FA2A3F86274C5E2900E587B6 /* t1parse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t1parse.h; sourceTree = ""; }; + FA2A3F8A274C5E2900E587B6 /* t1objs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t1objs.h; sourceTree = ""; }; + FA2A3F8B274C5E2900E587B6 /* type1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = type1.c; sourceTree = ""; }; + FA2A3F8F274C5E2900E587B6 /* t1gload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t1gload.h; sourceTree = ""; }; + FA2A3FEF274C5EF000E587B6 /* cidtoken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cidtoken.h; sourceTree = ""; }; + FA2A3FF2274C5EF000E587B6 /* cidgload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cidgload.h; sourceTree = ""; }; + FA2A3FF4274C5EF000E587B6 /* cidobjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cidobjs.h; sourceTree = ""; }; + FA2A3FF5274C5EF000E587B6 /* ciderrs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ciderrs.h; sourceTree = ""; }; + FA2A3FF8274C5EF000E587B6 /* cidriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cidriver.h; sourceTree = ""; }; + FA2A3FF9274C5EF000E587B6 /* cidparse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cidparse.h; sourceTree = ""; }; + FA2A3FFB274C5EF000E587B6 /* cidload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cidload.h; sourceTree = ""; }; + FA2A3FFC274C5EF000E587B6 /* type1cid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = type1cid.c; sourceTree = ""; }; + FA2A3FFF274C5EF000E587B6 /* pcf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pcf.h; sourceTree = ""; }; + FA2A4001274C5EF000E587B6 /* pcfdrivr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pcfdrivr.h; sourceTree = ""; }; + FA2A4005274C5EF000E587B6 /* pcf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcf.c; sourceTree = ""; }; + FA2A4006274C5EF000E587B6 /* pcfutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pcfutil.h; sourceTree = ""; }; + FA2A4008274C5EF000E587B6 /* pcfread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pcfread.h; sourceTree = ""; }; + FA2A400A274C5EF000E587B6 /* pcferror.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pcferror.h; sourceTree = ""; }; + FA2A400C274C5EF000E587B6 /* pfr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pfr.c; sourceTree = ""; }; + FA2A400F274C5EF000E587B6 /* pfrerror.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pfrerror.h; sourceTree = ""; }; + FA2A4011274C5EF000E587B6 /* pfrload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pfrload.h; sourceTree = ""; }; + FA2A4012274C5EF000E587B6 /* pfrtypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pfrtypes.h; sourceTree = ""; }; + FA2A4014274C5EF000E587B6 /* pfrcmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pfrcmap.h; sourceTree = ""; }; + FA2A4017274C5EF000E587B6 /* pfrobjs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pfrobjs.h; sourceTree = ""; }; + FA2A4018274C5EF000E587B6 /* pfrdrivr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pfrdrivr.h; sourceTree = ""; }; + FA2A4019274C5EF000E587B6 /* pfrsbit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pfrsbit.h; sourceTree = ""; }; + FA2A401B274C5EF000E587B6 /* pfrgload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pfrgload.h; sourceTree = ""; }; + FA2A4044274C5F3200E587B6 /* bdferror.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bdferror.h; sourceTree = ""; }; + FA2A4046274C5F3200E587B6 /* bdf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bdf.c; sourceTree = ""; }; + FA2A4049274C5F3200E587B6 /* bdfdrivr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bdfdrivr.h; sourceTree = ""; }; + FA2A404A274C5F3200E587B6 /* bdf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bdf.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -706,13 +760,24 @@ children = ( FA2A3BCE2747063D00E587B6 /* autofit */, FA2A3C242747063D00E587B6 /* base */, + FA2A4042274C5F3200E587B6 /* bdf */, FA2A3ACB2747063C00E587B6 /* cache */, + FA2A3F1D274C5E2800E587B6 /* cff */, + FA2A3FEE274C5EF000E587B6 /* cid */, FA2A3BBD2747063D00E587B6 /* otvalid */, + FA2A3FFE274C5EF000E587B6 /* pcf */, + FA2A400B274C5EF000E587B6 /* pfr */, + FA2A3F37274C5E2900E587B6 /* psaux */, + FA2A3F71274C5E2900E587B6 /* pshinter */, + FA2A3F2F274C5E2800E587B6 /* psnames */, FA2A3C122747063D00E587B6 /* raster */, FA2A3ABF2747063C00E587B6 /* sdf */, FA2A3ADE2747063C00E587B6 /* sfnt */, FA2A3E3B27470B9E00E587B6 /* smooth */, FA2A3BFF2747063D00E587B6 /* truetype */, + FA2A3F7E274C5E2900E587B6 /* type1 */, + FA2A3F5F274C5E2900E587B6 /* type42 */, + FA2A3F6B274C5E2900E587B6 /* winfonts */, ); path = src; sourceTree = ""; @@ -720,15 +785,11 @@ FA2A3ABF2747063C00E587B6 /* sdf */ = { isa = PBXGroup; children = ( - FA2A3AC02747063C00E587B6 /* ftsdferrs.h */, - FA2A3AC12747063C00E587B6 /* ftbsdf.c */, - FA2A3AC22747063C00E587B6 /* ftsdfcommon.h */, - FA2A3AC32747063C00E587B6 /* ftsdfrend.h */, - FA2A3AC42747063C00E587B6 /* ftsdf.c */, - FA2A3AC62747063C00E587B6 /* sdf.c */, - FA2A3AC72747063C00E587B6 /* ftsdfrend.c */, - FA2A3AC82747063C00E587B6 /* ftsdfcommon.c */, FA2A3ACA2747063C00E587B6 /* ftsdf.h */, + FA2A3AC22747063C00E587B6 /* ftsdfcommon.h */, + FA2A3AC02747063C00E587B6 /* ftsdferrs.h */, + FA2A3AC32747063C00E587B6 /* ftsdfrend.h */, + FA2A3AC62747063C00E587B6 /* sdf.c */, ); path = sdf; sourceTree = ""; @@ -737,21 +798,13 @@ isa = PBXGroup; children = ( FA2A3ADA2747063C00E587B6 /* ftcache.c */, - FA2A3ADB2747063C00E587B6 /* ftcbasic.c */, - FA2A3AD22747063C00E587B6 /* ftccache.c */, FA2A3AD72747063C00E587B6 /* ftccache.h */, FA2A3AD12747063C00E587B6 /* ftccback.h */, - FA2A3ACD2747063C00E587B6 /* ftccmap.c */, FA2A3ADD2747063C00E587B6 /* ftcerror.h */, - FA2A3AD42747063C00E587B6 /* ftcglyph.c */, FA2A3ACE2747063C00E587B6 /* ftcglyph.h */, - FA2A3AD52747063C00E587B6 /* ftcimage.c */, FA2A3ACF2747063C00E587B6 /* ftcimage.h */, - FA2A3ACC2747063C00E587B6 /* ftcmanag.c */, FA2A3AD62747063C00E587B6 /* ftcmanag.h */, - FA2A3AD32747063C00E587B6 /* ftcmru.c */, FA2A3ADC2747063C00E587B6 /* ftcmru.h */, - FA2A3AD82747063C00E587B6 /* ftcsbits.c */, FA2A3AD02747063C00E587B6 /* ftcsbits.h */, ); path = cache; @@ -760,38 +813,23 @@ FA2A3ADE2747063C00E587B6 /* sfnt */ = { isa = PBXGroup; children = ( - FA2A3ADF2747063C00E587B6 /* sfobjs.c */, - FA2A3AE02747063C00E587B6 /* ttcmap.h */, - FA2A3AE12747063C00E587B6 /* ttpost.h */, - FA2A3AE22747063C00E587B6 /* ttkern.c */, - FA2A3AE32747063C00E587B6 /* ttcolr.h */, - FA2A3AE42747063C00E587B6 /* sfwoff.c */, FA2A3AE52747063C00E587B6 /* pngshim.h */, - FA2A3AE62747063C00E587B6 /* ttmtx.c */, - FA2A3AE72747063C00E587B6 /* ttload.h */, - FA2A3AE82747063C00E587B6 /* sfwoff2.h */, - FA2A3AE92747063C00E587B6 /* sfdriver.c */, - FA2A3AEA2747063C00E587B6 /* ttsbit.c */, - FA2A3AEB2747063C00E587B6 /* woff2tags.c */, - FA2A3AEC2747063C00E587B6 /* ttbdf.h */, - FA2A3AED2747063C00E587B6 /* ttcmapc.h */, - FA2A3AEF2747063C00E587B6 /* ttcpal.c */, - FA2A3AF02747063C00E587B6 /* ttkern.h */, - FA2A3AF12747063C00E587B6 /* ttpost.c */, + FA2A3AFB2747063C00E587B6 /* sfdriver.h */, + FA2A3AFE2747063C00E587B6 /* sferrors.h */, FA2A3AF22747063C00E587B6 /* sfnt.c */, FA2A3AF32747063C00E587B6 /* sfobjs.h */, - FA2A3AF42747063C00E587B6 /* ttcmap.c */, - FA2A3AF52747063C00E587B6 /* ttmtx.h */, - FA2A3AF62747063C00E587B6 /* pngshim.c */, - FA2A3AF72747063C00E587B6 /* ttcolr.c */, FA2A3AF82747063C00E587B6 /* sfwoff.h */, - FA2A3AF92747063C00E587B6 /* ttsbit.h */, - FA2A3AFB2747063C00E587B6 /* sfdriver.h */, - FA2A3AFC2747063C00E587B6 /* sfwoff2.c */, - FA2A3AFD2747063C00E587B6 /* ttload.c */, - FA2A3AFE2747063C00E587B6 /* sferrors.h */, + FA2A3AE82747063C00E587B6 /* sfwoff2.h */, + FA2A3AEC2747063C00E587B6 /* ttbdf.h */, + FA2A3AE02747063C00E587B6 /* ttcmap.h */, + FA2A3AED2747063C00E587B6 /* ttcmapc.h */, + FA2A3AE32747063C00E587B6 /* ttcolr.h */, FA2A3AFF2747063C00E587B6 /* ttcpal.h */, - FA2A3B002747063C00E587B6 /* ttbdf.c */, + FA2A3AF02747063C00E587B6 /* ttkern.h */, + FA2A3AE72747063C00E587B6 /* ttload.h */, + FA2A3AF52747063C00E587B6 /* ttmtx.h */, + FA2A3AE12747063C00E587B6 /* ttpost.h */, + FA2A3AF92747063C00E587B6 /* ttsbit.h */, FA2A3B012747063C00E587B6 /* woff2tags.h */, ); path = sfnt; @@ -801,19 +839,11 @@ isa = PBXGroup; children = ( FA2A3BBE2747063D00E587B6 /* otvalid.c */, - FA2A3BBF2747063D00E587B6 /* otvjstf.c */, - FA2A3BC02747063D00E587B6 /* otvgsub.c */, - FA2A3BC12747063D00E587B6 /* otvbase.c */, + FA2A3BC82747063D00E587B6 /* otvalid.h */, + FA2A3BC42747063D00E587B6 /* otvcommn.h */, + FA2A3BCA2747063D00E587B6 /* otverror.h */, FA2A3BC22747063D00E587B6 /* otvgpos.h */, FA2A3BC32747063D00E587B6 /* otvmod.h */, - FA2A3BC42747063D00E587B6 /* otvcommn.h */, - FA2A3BC52747063D00E587B6 /* otvmath.c */, - FA2A3BC72747063D00E587B6 /* otvgdef.c */, - FA2A3BC82747063D00E587B6 /* otvalid.h */, - FA2A3BC92747063D00E587B6 /* otvgpos.c */, - FA2A3BCA2747063D00E587B6 /* otverror.h */, - FA2A3BCB2747063D00E587B6 /* otvcommn.c */, - FA2A3BCD2747063D00E587B6 /* otvmod.c */, ); path = otvalid; sourceTree = ""; @@ -821,41 +851,28 @@ FA2A3BCE2747063D00E587B6 /* autofit */ = { isa = PBXGroup; children = ( - FA2A3BCF2747063D00E587B6 /* afws-decl.h */, - FA2A3BD02747063D00E587B6 /* afindic.h */, - FA2A3BD12747063D00E587B6 /* afdummy.h */, - FA2A3BD22747063D00E587B6 /* afmodule.h */, FA2A3BD32747063D00E587B6 /* afblue.cin */, - FA2A3BD42747063D00E587B6 /* afglobal.c */, - FA2A3BD52747063D00E587B6 /* afcover.h */, - FA2A3BD62747063D00E587B6 /* afblue.c */, - FA2A3BD72747063D00E587B6 /* afshaper.c */, - FA2A3BD82747063D00E587B6 /* afhints.h */, - FA2A3BD92747063D00E587B6 /* aflatin.c */, - FA2A3BDA2747063D00E587B6 /* afloader.h */, - FA2A3BDB2747063D00E587B6 /* afranges.c */, - FA2A3BDC2747063D00E587B6 /* afws-iter.h */, - FA2A3BDD2747063D00E587B6 /* module.mk */, - FA2A3BDE2747063D00E587B6 /* afcjk.c */, - FA2A3BDF2747063D00E587B6 /* afstyles.h */, FA2A3BE02747063D00E587B6 /* afblue.dat */, - FA2A3BE12747063D00E587B6 /* aferrors.h */, - FA2A3BE22747063D00E587B6 /* afdummy.c */, - FA2A3BE32747063D00E587B6 /* afindic.c */, - FA2A3BE42747063D00E587B6 /* autofit.c */, - FA2A3BE52747063D00E587B6 /* afglobal.h */, - FA2A3BE62747063D00E587B6 /* afmodule.c */, FA2A3BE72747063D00E587B6 /* afblue.h */, - FA2A3BE82747063D00E587B6 /* afshaper.h */, - FA2A3BE92747063D00E587B6 /* afscript.h */, - FA2A3BEA2747063D00E587B6 /* rules.mk */, - FA2A3BEB2747063D00E587B6 /* aftypes.h */, - FA2A3BEC2747063D00E587B6 /* afcjk.h */, - FA2A3BED2747063D00E587B6 /* afranges.h */, FA2A3BEE2747063D00E587B6 /* afblue.hin */, - FA2A3BEF2747063D00E587B6 /* afloader.c */, + FA2A3BEC2747063D00E587B6 /* afcjk.h */, + FA2A3BD52747063D00E587B6 /* afcover.h */, + FA2A3BD12747063D00E587B6 /* afdummy.h */, + FA2A3BE12747063D00E587B6 /* aferrors.h */, + FA2A3BE52747063D00E587B6 /* afglobal.h */, + FA2A3BD82747063D00E587B6 /* afhints.h */, + FA2A3BD02747063D00E587B6 /* afindic.h */, FA2A3BF02747063D00E587B6 /* aflatin.h */, - FA2A3BF12747063D00E587B6 /* afhints.c */, + FA2A3BDA2747063D00E587B6 /* afloader.h */, + FA2A3BD22747063D00E587B6 /* afmodule.h */, + FA2A3BED2747063D00E587B6 /* afranges.h */, + FA2A3BE92747063D00E587B6 /* afscript.h */, + FA2A3BE82747063D00E587B6 /* afshaper.h */, + FA2A3BDF2747063D00E587B6 /* afstyles.h */, + FA2A3BEB2747063D00E587B6 /* aftypes.h */, + FA2A3BCF2747063D00E587B6 /* afws-decl.h */, + FA2A3BDC2747063D00E587B6 /* afws-iter.h */, + FA2A3BE42747063D00E587B6 /* autofit.c */, ); path = autofit; sourceTree = ""; @@ -863,22 +880,15 @@ FA2A3BFF2747063D00E587B6 /* truetype */ = { isa = PBXGroup; children = ( - FA2A3C002747063D00E587B6 /* ttinterp.c */, - FA2A3C012747063D00E587B6 /* ttpload.c */, - FA2A3C022747063D00E587B6 /* ttgxvar.c */, - FA2A3C032747063D00E587B6 /* ttsubpix.h */, - FA2A3C042747063D00E587B6 /* tterrors.h */, - FA2A3C052747063D00E587B6 /* ttdriver.h */, FA2A3C062747063D00E587B6 /* truetype.c */, - FA2A3C072747063D00E587B6 /* ttobjs.c */, + FA2A3C052747063D00E587B6 /* ttdriver.h */, + FA2A3C042747063D00E587B6 /* tterrors.h */, FA2A3C082747063D00E587B6 /* ttgload.h */, FA2A3C0A2747063D00E587B6 /* ttgxvar.h */, - FA2A3C0B2747063D00E587B6 /* ttpload.h */, FA2A3C0C2747063D00E587B6 /* ttinterp.h */, - FA2A3C0D2747063D00E587B6 /* ttdriver.c */, - FA2A3C0E2747063D00E587B6 /* ttsubpix.c */, FA2A3C0F2747063D00E587B6 /* ttobjs.h */, - FA2A3C112747063D00E587B6 /* ttgload.c */, + FA2A3C0B2747063D00E587B6 /* ttpload.h */, + FA2A3C032747063D00E587B6 /* ttsubpix.h */, ); path = truetype; sourceTree = ""; @@ -887,12 +897,10 @@ isa = PBXGroup; children = ( FA2A3C132747063D00E587B6 /* ftmisc.h */, - FA2A3C142747063D00E587B6 /* rasterrs.h */, - FA2A3C152747063D00E587B6 /* ftrend1.h */, FA2A3C162747063D00E587B6 /* ftraster.h */, - FA2A3C192747063D00E587B6 /* ftraster.c */, + FA2A3C152747063D00E587B6 /* ftrend1.h */, FA2A3C1A2747063D00E587B6 /* raster.c */, - FA2A3C1B2747063D00E587B6 /* ftrend1.c */, + FA2A3C142747063D00E587B6 /* rasterrs.h */, ); path = raster; sourceTree = ""; @@ -928,16 +936,176 @@ FA2A3E3B27470B9E00E587B6 /* smooth */ = { isa = PBXGroup; children = ( - FA2A3E3C27470B9E00E587B6 /* ftgrays.c */, - FA2A3E3D27470B9E00E587B6 /* ftsmooth.h */, - FA2A3E3F27470B9E00E587B6 /* ftsmerrs.h */, FA2A3E4027470B9E00E587B6 /* ftgrays.h */, - FA2A3E4127470B9E00E587B6 /* ftsmooth.c */, + FA2A3E3F27470B9E00E587B6 /* ftsmerrs.h */, + FA2A3E3D27470B9E00E587B6 /* ftsmooth.h */, FA2A3E4327470B9E00E587B6 /* smooth.c */, ); path = smooth; sourceTree = ""; }; + FA2A3F1D274C5E2800E587B6 /* cff */ = { + isa = PBXGroup; + children = ( + FA2A3F26274C5E2800E587B6 /* cff.c */, + FA2A3F22274C5E2800E587B6 /* cffcmap.h */, + FA2A3F2B274C5E2800E587B6 /* cffdrivr.h */, + FA2A3F2E274C5E2800E587B6 /* cfferrs.h */, + FA2A3F29274C5E2800E587B6 /* cffgload.h */, + FA2A3F1E274C5E2800E587B6 /* cffload.h */, + FA2A3F28274C5E2800E587B6 /* cffobjs.h */, + FA2A3F21274C5E2800E587B6 /* cffparse.h */, + FA2A3F27274C5E2800E587B6 /* cfftoken.h */, + ); + path = cff; + sourceTree = ""; + }; + FA2A3F2F274C5E2800E587B6 /* psnames */ = { + isa = PBXGroup; + children = ( + FA2A3F36274C5E2800E587B6 /* psmodule.h */, + FA2A3F30274C5E2800E587B6 /* psnamerr.h */, + FA2A3F34274C5E2800E587B6 /* psnames.c */, + FA2A3F33274C5E2800E587B6 /* pstables.h */, + ); + path = psnames; + sourceTree = ""; + }; + FA2A3F37274C5E2900E587B6 /* psaux */ = { + isa = PBXGroup; + children = ( + FA2A3F46274C5E2900E587B6 /* afmparse.h */, + FA2A3F3A274C5E2900E587B6 /* cffdecode.h */, + FA2A3F38274C5E2900E587B6 /* psarrst.h */, + FA2A3F52274C5E2900E587B6 /* psaux.c */, + FA2A3F3C274C5E2900E587B6 /* psauxerr.h */, + FA2A3F5D274C5E2900E587B6 /* psauxmod.h */, + FA2A3F3B274C5E2900E587B6 /* psblues.h */, + FA2A3F5B274C5E2900E587B6 /* psconv.h */, + FA2A3F53274C5E2900E587B6 /* pserror.h */, + FA2A3F4F274C5E2900E587B6 /* psfixed.h */, + FA2A3F58274C5E2900E587B6 /* psfont.h */, + FA2A3F48274C5E2900E587B6 /* psft.h */, + FA2A3F4A274C5E2900E587B6 /* psglue.h */, + FA2A3F3F274C5E2900E587B6 /* pshints.h */, + FA2A3F47274C5E2900E587B6 /* psintrp.h */, + FA2A3F56274C5E2900E587B6 /* psobjs.h */, + FA2A3F5E274C5E2900E587B6 /* psread.h */, + FA2A3F39274C5E2900E587B6 /* psstack.h */, + FA2A3F4E274C5E2900E587B6 /* pstypes.h */, + FA2A3F42274C5E2900E587B6 /* t1cmap.h */, + FA2A3F54274C5E2900E587B6 /* t1decode.h */, + ); + path = psaux; + sourceTree = ""; + }; + FA2A3F5F274C5E2900E587B6 /* type42 */ = { + isa = PBXGroup; + children = ( + FA2A3F61274C5E2900E587B6 /* t42drivr.h */, + FA2A3F69274C5E2900E587B6 /* t42error.h */, + FA2A3F64274C5E2900E587B6 /* t42objs.h */, + FA2A3F65274C5E2900E587B6 /* t42parse.h */, + FA2A3F66274C5E2900E587B6 /* t42types.h */, + FA2A3F62274C5E2900E587B6 /* type42.c */, + ); + path = type42; + sourceTree = ""; + }; + FA2A3F6B274C5E2900E587B6 /* winfonts */ = { + isa = PBXGroup; + children = ( + FA2A3F70274C5E2900E587B6 /* fnterrs.h */, + FA2A3F6E274C5E2900E587B6 /* winfnt.c */, + FA2A3F6C274C5E2900E587B6 /* winfnt.h */, + ); + path = winfonts; + sourceTree = ""; + }; + FA2A3F71274C5E2900E587B6 /* pshinter */ = { + isa = PBXGroup; + children = ( + FA2A3F7C274C5E2900E587B6 /* pshalgo.h */, + FA2A3F74274C5E2900E587B6 /* pshglob.h */, + FA2A3F78274C5E2900E587B6 /* pshinter.c */, + FA2A3F77274C5E2900E587B6 /* pshmod.h */, + FA2A3F79274C5E2900E587B6 /* pshnterr.h */, + FA2A3F73274C5E2900E587B6 /* pshrec.h */, + ); + path = pshinter; + sourceTree = ""; + }; + FA2A3F7E274C5E2900E587B6 /* type1 */ = { + isa = PBXGroup; + children = ( + FA2A3F81274C5E2900E587B6 /* t1afm.h */, + FA2A3F82274C5E2900E587B6 /* t1driver.h */, + FA2A3F84274C5E2900E587B6 /* t1errors.h */, + FA2A3F8F274C5E2900E587B6 /* t1gload.h */, + FA2A3F80274C5E2900E587B6 /* t1load.h */, + FA2A3F8A274C5E2900E587B6 /* t1objs.h */, + FA2A3F86274C5E2900E587B6 /* t1parse.h */, + FA2A3F83274C5E2900E587B6 /* t1tokens.h */, + FA2A3F8B274C5E2900E587B6 /* type1.c */, + ); + path = type1; + sourceTree = ""; + }; + FA2A3FEE274C5EF000E587B6 /* cid */ = { + isa = PBXGroup; + children = ( + FA2A3FF5274C5EF000E587B6 /* ciderrs.h */, + FA2A3FF2274C5EF000E587B6 /* cidgload.h */, + FA2A3FFB274C5EF000E587B6 /* cidload.h */, + FA2A3FF4274C5EF000E587B6 /* cidobjs.h */, + FA2A3FF9274C5EF000E587B6 /* cidparse.h */, + FA2A3FF8274C5EF000E587B6 /* cidriver.h */, + FA2A3FEF274C5EF000E587B6 /* cidtoken.h */, + FA2A3FFC274C5EF000E587B6 /* type1cid.c */, + ); + path = cid; + sourceTree = ""; + }; + FA2A3FFE274C5EF000E587B6 /* pcf */ = { + isa = PBXGroup; + children = ( + FA2A4005274C5EF000E587B6 /* pcf.c */, + FA2A3FFF274C5EF000E587B6 /* pcf.h */, + FA2A4001274C5EF000E587B6 /* pcfdrivr.h */, + FA2A400A274C5EF000E587B6 /* pcferror.h */, + FA2A4008274C5EF000E587B6 /* pcfread.h */, + FA2A4006274C5EF000E587B6 /* pcfutil.h */, + ); + path = pcf; + sourceTree = ""; + }; + FA2A400B274C5EF000E587B6 /* pfr */ = { + isa = PBXGroup; + children = ( + FA2A400C274C5EF000E587B6 /* pfr.c */, + FA2A4014274C5EF000E587B6 /* pfrcmap.h */, + FA2A4018274C5EF000E587B6 /* pfrdrivr.h */, + FA2A400F274C5EF000E587B6 /* pfrerror.h */, + FA2A401B274C5EF000E587B6 /* pfrgload.h */, + FA2A4011274C5EF000E587B6 /* pfrload.h */, + FA2A4017274C5EF000E587B6 /* pfrobjs.h */, + FA2A4019274C5EF000E587B6 /* pfrsbit.h */, + FA2A4012274C5EF000E587B6 /* pfrtypes.h */, + ); + path = pfr; + sourceTree = ""; + }; + FA2A4042274C5F3200E587B6 /* bdf */ = { + isa = PBXGroup; + children = ( + FA2A4046274C5F3200E587B6 /* bdf.c */, + FA2A404A274C5F3200E587B6 /* bdf.h */, + FA2A4049274C5F3200E587B6 /* bdfdrivr.h */, + FA2A4044274C5F3200E587B6 /* bdferror.h */, + ); + path = bdf; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -946,6 +1114,7 @@ buildActionMask = 2147483647; files = ( FA2A3E062747063F00E587B6 /* ftraster.h in Headers */, + FA2A3FD0274C5E2900E587B6 /* t42error.h in Headers */, FA2A3CAC2747063E00E587B6 /* ftlzw.h in Headers */, FA2A3C722747063D00E587B6 /* cffotypes.h in Headers */, FA2A3CEA2747063E00E587B6 /* ftsdfcommon.h in Headers */, @@ -954,49 +1123,78 @@ FA2A3CE82747063E00E587B6 /* ftsdferrs.h in Headers */, FA2A3D062747063E00E587B6 /* ttcolr.h in Headers */, FA2A3D1C2747063E00E587B6 /* sfdriver.h in Headers */, + FA2A404D274C5F3200E587B6 /* bdferror.h in Headers */, + FA2A3FC8274C5E2900E587B6 /* psread.h in Headers */, + FA2A4022274C5EF000E587B6 /* cidobjs.h in Headers */, FA2A3C7B2747063D00E587B6 /* cfftypes.h in Headers */, FA2A3DFC2747063F00E587B6 /* ttgxvar.h in Headers */, + FA2A3FC5274C5E2900E587B6 /* psconv.h in Headers */, FA2A3CF62747063E00E587B6 /* ftccback.h in Headers */, FA2A3CA62747063E00E587B6 /* fterrdef.h in Headers */, FA2A3D012747063E00E587B6 /* ftcerror.h in Headers */, + FA2A3F9E274C5E2900E587B6 /* cfferrs.h in Headers */, FA2A3DC82747063F00E587B6 /* otverror.h in Headers */, + FA2A3FE2274C5E2900E587B6 /* t1driver.h in Headers */, + FA2A3FD6274C5E2900E587B6 /* pshrec.h in Headers */, FA2A3C662747063D00E587B6 /* ftmodule.h in Headers */, FA2A3DD72747063F00E587B6 /* afws-iter.h in Headers */, + FA2A3FC2274C5E2900E587B6 /* psfont.h in Headers */, + FA2A3FDD274C5E2900E587B6 /* pshalgo.h in Headers */, FA2A3E042747063F00E587B6 /* rasterrs.h in Headers */, FA2A3CA22747063E00E587B6 /* ftotval.h in Headers */, FA2A3C5F2747063D00E587B6 /* ftmm.h in Headers */, FA2A3CB72747063E00E587B6 /* ftlcdfil.h in Headers */, FA2A3CF02747063E00E587B6 /* ftsdf.h in Headers */, FA2A3E4727470B9E00E587B6 /* ftgrays.h in Headers */, + FA2A3FE6274C5E2900E587B6 /* t1parse.h in Headers */, + FA2A401D274C5EF000E587B6 /* cidtoken.h in Headers */, + FA2A4050274C5F3200E587B6 /* bdfdrivr.h in Headers */, + FA2A3F9F274C5E2900E587B6 /* psnamerr.h in Headers */, FA2A3CA32747063E00E587B6 /* freetype.h in Headers */, FA2A3C6E2747063D00E587B6 /* ftgzip.h in Headers */, FA2A3C732747063D00E587B6 /* wofftypes.h in Headers */, + FA2A3FCE274C5E2900E587B6 /* t42types.h in Headers */, + FA2A4039274C5EF000E587B6 /* pfrtypes.h in Headers */, FA2A3DC32747063E00E587B6 /* otvcommn.h in Headers */, FA2A3D0B2747063E00E587B6 /* sfwoff2.h in Headers */, FA2A3DFD2747063F00E587B6 /* ttpload.h in Headers */, FA2A3CB42747063E00E587B6 /* ftbitmap.h in Headers */, + FA2A4026274C5EF000E587B6 /* cidparse.h in Headers */, FA2A3C7E2747063D00E587B6 /* ftobjs.h in Headers */, FA2A3CF52747063E00E587B6 /* ftcsbits.h in Headers */, FA2A3DDE2747063F00E587B6 /* afglobal.h in Headers */, + FA2A3FD4274C5E2900E587B6 /* fnterrs.h in Headers */, FA2A3C872747063D00E587B6 /* svcfftl.h in Headers */, + FA2A3FE9274C5E2900E587B6 /* t1objs.h in Headers */, FA2A3CB92747063E00E587B6 /* ftrender.h in Headers */, FA2A3E4627470B9E00E587B6 /* ftsmerrs.h in Headers */, FA2A3CA42747063E00E587B6 /* ftincrem.h in Headers */, + FA2A4032274C5EF000E587B6 /* pcferror.h in Headers */, FA2A3C772747063D00E587B6 /* pshints.h in Headers */, + FA2A3FC7274C5E2900E587B6 /* psauxmod.h in Headers */, FA2A3C912747063D00E587B6 /* svgxval.h in Headers */, FA2A3DC62747063F00E587B6 /* otvalid.h in Headers */, FA2A3C7F2747063D00E587B6 /* fttrace.h in Headers */, FA2A3E052747063F00E587B6 /* ftrend1.h in Headers */, + FA2A3FBE274C5E2900E587B6 /* pserror.h in Headers */, FA2A3CA12747063E00E587B6 /* ftcache.h in Headers */, FA2A3D202747063E00E587B6 /* ttcpal.h in Headers */, + FA2A4025274C5EF000E587B6 /* cidriver.h in Headers */, FA2A3C8F2747063D00E587B6 /* svpsinfo.h in Headers */, FA2A3DF72747063F00E587B6 /* tterrors.h in Headers */, FA2A3C6C2747063D00E587B6 /* ftbbox.h in Headers */, + FA2A403F274C5EF100E587B6 /* pfrsbit.h in Headers */, + FA2A4020274C5EF000E587B6 /* cidgload.h in Headers */, + FA2A3FE4274C5E2900E587B6 /* t1errors.h in Headers */, FA2A3D0F2747063E00E587B6 /* ttbdf.h in Headers */, + FA2A402C274C5EF000E587B6 /* pcfdrivr.h in Headers */, + FA2A3FE3274C5E2900E587B6 /* t1tokens.h in Headers */, FA2A3C642747063D00E587B6 /* mac-support.h in Headers */, + FA2A3FA3274C5E2900E587B6 /* psmodule.h in Headers */, FA2A3C6A2747063D00E587B6 /* ftbzip2.h in Headers */, FA2A3C6F2747063D00E587B6 /* ftdriver.h in Headers */, FA2A3DD32747063F00E587B6 /* afhints.h in Headers */, + FA2A403D274C5EF100E587B6 /* pfrobjs.h in Headers */, FA2A3C842747063D00E587B6 /* ftserv.h in Headers */, FA2A3C792747063D00E587B6 /* autohint.h in Headers */, FA2A3CEB2747063E00E587B6 /* ftsdfrend.h in Headers */, @@ -1007,15 +1205,21 @@ FA2A3DE22747063F00E587B6 /* afscript.h in Headers */, FA2A3C5B2747063D00E587B6 /* ftwinfnt.h in Headers */, FA2A3CAD2747063E00E587B6 /* ftsystem.h in Headers */, + FA2A3FD2274C5E2900E587B6 /* winfnt.h in Headers */, FA2A3D122747063E00E587B6 /* ttkern.h in Headers */, + FA2A3FDB274C5E2900E587B6 /* pshnterr.h in Headers */, FA2A3D032747063E00E587B6 /* ttcmap.h in Headers */, FA2A3C752747063D00E587B6 /* psaux.h in Headers */, FA2A3C9E2747063D00E587B6 /* fterrors.h in Headers */, FA2A3CA52747063E00E587B6 /* ftfntfmt.h in Headers */, FA2A3DE02747063F00E587B6 /* afblue.h in Headers */, FA2A3D002747063E00E587B6 /* ftcmru.h in Headers */, + FA2A402A274C5EF000E587B6 /* pcf.h in Headers */, + FA2A3FED274C5E2900E587B6 /* t1gload.h in Headers */, + FA2A3FC1274C5E2900E587B6 /* psobjs.h in Headers */, FA2A3CFB2747063E00E587B6 /* ftcmanag.h in Headers */, FA2A3CB22747063E00E587B6 /* ftglyph.h in Headers */, + FA2A4030274C5EF000E587B6 /* pcfread.h in Headers */, FA2A3D1A2747063E00E587B6 /* sfwoff.h in Headers */, FA2A3C9A2747063D00E587B6 /* ftcalc.h in Headers */, FA2A3C632747063D00E587B6 /* ftconfig.h in Headers */, @@ -1024,18 +1228,27 @@ FA2A3CF32747063E00E587B6 /* ftcglyph.h in Headers */, FA2A3DFE2747063F00E587B6 /* ttinterp.h in Headers */, FA2A3CB12747063E00E587B6 /* ftcid.h in Headers */, + FA2A4036274C5EF000E587B6 /* pfrerror.h in Headers */, FA2A3C742747063D00E587B6 /* ftdebug.h in Headers */, FA2A3D042747063E00E587B6 /* ttpost.h in Headers */, FA2A3DD52747063F00E587B6 /* afloader.h in Headers */, FA2A3DCC2747063F00E587B6 /* afindic.h in Headers */, + FA2A3FA4274C5E2900E587B6 /* psarrst.h in Headers */, FA2A3D172747063E00E587B6 /* ttmtx.h in Headers */, FA2A3C7A2747063D00E587B6 /* ftstream.h in Headers */, + FA2A3FE1274C5E2900E587B6 /* t1afm.h in Headers */, + FA2A4038274C5EF000E587B6 /* pfrload.h in Headers */, + FA2A3F94274C5E2900E587B6 /* cffcmap.h in Headers */, + FA2A403B274C5EF100E587B6 /* pfrcmap.h in Headers */, FA2A3C852747063D00E587B6 /* svprop.h in Headers */, FA2A3C882747063D00E587B6 /* svwinfnt.h in Headers */, + FA2A4028274C5EF000E587B6 /* cidload.h in Headers */, + FA2A4051274C5F3200E587B6 /* bdf.h in Headers */, FA2A3C712747063D00E587B6 /* ftdrv.h in Headers */, FA2A3C782747063D00E587B6 /* compiler-macros.h in Headers */, FA2A3C7C2747063D00E587B6 /* tttypes.h in Headers */, FA2A3DCE2747063F00E587B6 /* afmodule.h in Headers */, + FA2A3FA6274C5E2900E587B6 /* cffdecode.h in Headers */, FA2A3C812747063D00E587B6 /* fthash.h in Headers */, FA2A3C672747063D00E587B6 /* public-macros.h in Headers */, FA2A3C8B2747063D00E587B6 /* svgldict.h in Headers */, @@ -1043,41 +1256,62 @@ FA2A3C702747063D00E587B6 /* sfnt.h in Headers */, FA2A3DCB2747063F00E587B6 /* afws-decl.h in Headers */, FA2A3CAA2747063E00E587B6 /* ftchapters.h in Headers */, + FA2A3F98274C5E2900E587B6 /* cfftoken.h in Headers */, FA2A3C5A2747063D00E587B6 /* ftsnames.h in Headers */, FA2A3CF42747063E00E587B6 /* ftcimage.h in Headers */, + FA2A3F9C274C5E2900E587B6 /* cffdrivr.h in Headers */, FA2A3E032747063F00E587B6 /* ftmisc.h in Headers */, FA2A3CAB2747063E00E587B6 /* tttags.h in Headers */, FA2A3C9D2747063D00E587B6 /* ftsynth.h in Headers */, + FA2A3FBF274C5E2900E587B6 /* t1decode.h in Headers */, FA2A3C6D2747063D00E587B6 /* ftlogging.h in Headers */, FA2A3DFB2747063F00E587B6 /* ttgload.h in Headers */, + FA2A3FBA274C5E2900E587B6 /* psfixed.h in Headers */, FA2A3C562747063D00E587B6 /* ft_organicmaps_modules.h in Headers */, FA2A3C932747063D00E587B6 /* svbdf.h in Headers */, FA2A3CAE2747063E00E587B6 /* t1tables.h in Headers */, + FA2A402F274C5EF000E587B6 /* pcfutil.h in Headers */, + FA2A3FA1274C5E2900E587B6 /* pstables.h in Headers */, FA2A3DE12747063F00E587B6 /* afshaper.h in Headers */, FA2A3C692747063D00E587B6 /* ftmodapi.h in Headers */, + FA2A3FCC274C5E2900E587B6 /* t42objs.h in Headers */, FA2A3CB82747063E00E587B6 /* ftbdf.h in Headers */, FA2A3C5C2747063D00E587B6 /* ftsizes.h in Headers */, FA2A3D1B2747063E00E587B6 /* ttsbit.h in Headers */, FA2A3CA82747063E00E587B6 /* ftpfr.h in Headers */, + FA2A3FB2274C5E2900E587B6 /* afmparse.h in Headers */, + FA2A3F99274C5E2900E587B6 /* cffobjs.h in Headers */, FA2A3E392747063F00E587B6 /* ft2build.h in Headers */, + FA2A3FA7274C5E2900E587B6 /* psblues.h in Headers */, FA2A3D0A2747063E00E587B6 /* ttload.h in Headers */, FA2A3C8D2747063D00E587B6 /* svkern.h in Headers */, + FA2A3F9A274C5E2900E587B6 /* cffgload.h in Headers */, FA2A3DF62747063F00E587B6 /* ttsubpix.h in Headers */, FA2A3C762747063D00E587B6 /* t1types.h in Headers */, + FA2A403E274C5EF100E587B6 /* pfrdrivr.h in Headers */, FA2A3DE52747063F00E587B6 /* afranges.h in Headers */, + FA2A4023274C5EF000E587B6 /* ciderrs.h in Headers */, FA2A3C5E2747063D00E587B6 /* ftparams.h in Headers */, + FA2A3FA8274C5E2900E587B6 /* psauxerr.h in Headers */, FA2A3C5D2747063D00E587B6 /* fttypes.h in Headers */, FA2A3CAF2747063E00E587B6 /* ftimage.h in Headers */, + FA2A3FAB274C5E2900E587B6 /* pshints.h in Headers */, FA2A3C952747063D00E587B6 /* svtteng.h in Headers */, + FA2A3FD9274C5E2900E587B6 /* pshmod.h in Headers */, FA2A3D102747063E00E587B6 /* ttcmapc.h in Headers */, FA2A3C982747063D00E587B6 /* svpostnm.h in Headers */, + FA2A3F90274C5E2900E587B6 /* cffload.h in Headers */, + FA2A3FE0274C5E2900E587B6 /* t1load.h in Headers */, FA2A3C682747063D00E587B6 /* ftcolor.h in Headers */, + FA2A3FB3274C5E2900E587B6 /* psintrp.h in Headers */, FA2A3CB62747063E00E587B6 /* ftmac.h in Headers */, FA2A3C7D2747063D00E587B6 /* ftvalid.h in Headers */, FA2A3DE72747063F00E587B6 /* aflatin.h in Headers */, FA2A3C9C2747063D00E587B6 /* ftadvanc.h in Headers */, FA2A3CA72747063E00E587B6 /* ttnameid.h in Headers */, + FA2A4041274C5EF100E587B6 /* pfrgload.h in Headers */, FA2A3C902747063D00E587B6 /* svpfr.h in Headers */, + FA2A3FCA274C5E2900E587B6 /* t42drivr.h in Headers */, FA2A3C652747063D00E587B6 /* ftoption.h in Headers */, FA2A3CB02747063E00E587B6 /* tttables.h in Headers */, FA2A3C802747063D00E587B6 /* ftmemory.h in Headers */, @@ -1093,6 +1327,7 @@ FA2A3C892747063D00E587B6 /* svttcmap.h in Headers */, FA2A3DE42747063F00E587B6 /* afcjk.h in Headers */, FA2A3DCD2747063F00E587B6 /* afdummy.h in Headers */, + FA2A3FB9274C5E2900E587B6 /* pstypes.h in Headers */, FA2A3DC22747063E00E587B6 /* otvmod.h in Headers */, FA2A3DD92747063F00E587B6 /* afstyles.h in Headers */, FA2A3DF82747063F00E587B6 /* ttdriver.h in Headers */, @@ -1100,6 +1335,7 @@ FA2A3C822747063D00E587B6 /* ftgloadr.h in Headers */, FA2A3C922747063D00E587B6 /* svfntfmt.h in Headers */, FA2A3E3A2747063F00E587B6 /* ft_organicmaps_options.h in Headers */, + FA2A3F93274C5E2900E587B6 /* cffparse.h in Headers */, FA2A3CB52747063E00E587B6 /* ftlist.h in Headers */, FA2A3C942747063D00E587B6 /* svsfnt.h in Headers */, FA2A3E612748608100E587B6 /* ftbase.h in Headers */, @@ -1107,11 +1343,17 @@ FA2A3E012747063F00E587B6 /* ttobjs.h in Headers */, FA2A3C8A2747063D00E587B6 /* svotval.h in Headers */, FA2A3D152747063E00E587B6 /* sfobjs.h in Headers */, + FA2A3FAE274C5E2900E587B6 /* t1cmap.h in Headers */, + FA2A3FB4274C5E2900E587B6 /* psft.h in Headers */, FA2A3D082747063E00E587B6 /* pngshim.h in Headers */, FA2A3CFC2747063E00E587B6 /* ftccache.h in Headers */, + FA2A3FA5274C5E2900E587B6 /* psstack.h in Headers */, FA2A3C862747063D00E587B6 /* svmm.h in Headers */, FA2A3C9F2747063D00E587B6 /* ftgasp.h in Headers */, + FA2A3FD7274C5E2900E587B6 /* pshglob.h in Headers */, + FA2A3FB5274C5E2900E587B6 /* psglue.h in Headers */, FA2A3C9B2747063D00E587B6 /* ftoutln.h in Headers */, + FA2A3FCD274C5E2900E587B6 /* t42parse.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1171,91 +1413,45 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - FA2A3DC02747063E00E587B6 /* otvbase.c in Sources */, - FA2A3D022747063E00E587B6 /* sfobjs.c in Sources */, - FA2A3E022747063F00E587B6 /* ttgload.c in Sources */, - FA2A3CF72747063E00E587B6 /* ftccache.c in Sources */, - FA2A3DFA2747063F00E587B6 /* ttobjs.c in Sources */, - FA2A3D1E2747063E00E587B6 /* ttload.c in Sources */, + FA2A4029274C5EF000E587B6 /* type1cid.c in Sources */, FA2A3E6E2748608100E587B6 /* ftotval.c in Sources */, FA2A3E5E2748608100E587B6 /* ftgasp.c in Sources */, - FA2A3DD22747063F00E587B6 /* afshaper.c in Sources */, - FA2A3DD82747063F00E587B6 /* afcjk.c in Sources */, - FA2A3CF82747063E00E587B6 /* ftcmru.c in Sources */, + FA2A3FD3274C5E2900E587B6 /* winfnt.c in Sources */, FA2A3E5D2748608100E587B6 /* ftwinfnt.c in Sources */, - FA2A3CE92747063E00E587B6 /* ftbsdf.c in Sources */, - FA2A3CFF2747063E00E587B6 /* ftcbasic.c in Sources */, - FA2A3DC92747063F00E587B6 /* otvcommn.c in Sources */, - FA2A3DC72747063F00E587B6 /* otvgpos.c in Sources */, - FA2A3DD62747063F00E587B6 /* afranges.c in Sources */, - FA2A3DCA2747063F00E587B6 /* otvmod.c in Sources */, - FA2A3DFF2747063F00E587B6 /* ttdriver.c in Sources */, - FA2A3DBF2747063E00E587B6 /* otvgsub.c in Sources */, - FA2A3D0D2747063E00E587B6 /* ttsbit.c in Sources */, + FA2A3FCB274C5E2900E587B6 /* type42.c in Sources */, + FA2A4033274C5EF000E587B6 /* pfr.c in Sources */, FA2A3CED2747063E00E587B6 /* sdf.c in Sources */, - FA2A3D1D2747063E00E587B6 /* sfwoff2.c in Sources */, - FA2A3D052747063E00E587B6 /* ttkern.c in Sources */, FA2A3F1B2748657D00E587B6 /* ftdebug.c in Sources */, - FA2A3DDF2747063F00E587B6 /* afmodule.c in Sources */, - FA2A3DDB2747063F00E587B6 /* afdummy.c in Sources */, - FA2A3DF32747063F00E587B6 /* ttinterp.c in Sources */, FA2A3E082747063F00E587B6 /* raster.c in Sources */, - FA2A3D162747063E00E587B6 /* ttcmap.c in Sources */, - FA2A3D212747063E00E587B6 /* ttbdf.c in Sources */, - FA2A3D132747063E00E587B6 /* ttpost.c in Sources */, FA2A3E662748608100E587B6 /* ftpfr.c in Sources */, FA2A3E5F2748608100E587B6 /* ftbase.c in Sources */, FA2A3DF92747063F00E587B6 /* truetype.c in Sources */, FA2A3E602748608100E587B6 /* ftpatent.c in Sources */, - FA2A3D112747063E00E587B6 /* ttcpal.c in Sources */, - FA2A3DF42747063F00E587B6 /* ttpload.c in Sources */, - FA2A3CEF2747063E00E587B6 /* ftsdfcommon.c in Sources */, - FA2A3D072747063E00E587B6 /* sfwoff.c in Sources */, FA2A3E672748608100E587B6 /* ftsynth.c in Sources */, - FA2A3E4427470B9E00E587B6 /* ftgrays.c in Sources */, FA2A3E642748608100E587B6 /* ftbbox.c in Sources */, FA2A3E6A2748608100E587B6 /* fttype1.c in Sources */, - FA2A3CFD2747063E00E587B6 /* ftcsbits.c in Sources */, - FA2A3DF52747063F00E587B6 /* ttgxvar.c in Sources */, FA2A3E632748608100E587B6 /* ftglyph.c in Sources */, FA2A3E4927470B9E00E587B6 /* smooth.c in Sources */, + FA2A3FEA274C5E2900E587B6 /* type1.c in Sources */, FA2A3E6B2748608100E587B6 /* ftfstype.c in Sources */, - FA2A3D0C2747063E00E587B6 /* sfdriver.c in Sources */, - FA2A3DDC2747063F00E587B6 /* afindic.c in Sources */, - FA2A3CFA2747063E00E587B6 /* ftcimage.c in Sources */, + FA2A402E274C5EF000E587B6 /* pcf.c in Sources */, FA2A3E652748608100E587B6 /* ftinit.c in Sources */, FA2A3E692748608100E587B6 /* ftstroke.c in Sources */, - FA2A3E4827470B9E00E587B6 /* ftsmooth.c in Sources */, - FA2A3DE82747063F00E587B6 /* afhints.c in Sources */, - FA2A3DC42747063E00E587B6 /* otvmath.c in Sources */, - FA2A3E072747063F00E587B6 /* ftraster.c in Sources */, + FA2A3F97274C5E2900E587B6 /* cff.c in Sources */, + FA2A3FDA274C5E2900E587B6 /* pshinter.c in Sources */, FA2A3E6F2748608100E587B6 /* ftbdf.c in Sources */, - FA2A3CEE2747063E00E587B6 /* ftsdfrend.c in Sources */, FA2A3D142747063E00E587B6 /* sfnt.c in Sources */, + FA2A3FBD274C5E2900E587B6 /* psaux.c in Sources */, + FA2A3FA2274C5E2900E587B6 /* psnames.c in Sources */, FA2A3E622748608100E587B6 /* ftcid.c in Sources */, - FA2A3CEC2747063E00E587B6 /* ftsdf.c in Sources */, - FA2A3DD42747063F00E587B6 /* aflatin.c in Sources */, FA2A3E682748608100E587B6 /* ftbitmap.c in Sources */, FA2A3CFE2747063E00E587B6 /* ftcache.c in Sources */, - FA2A3DC52747063F00E587B6 /* otvgdef.c in Sources */, - FA2A3DCF2747063F00E587B6 /* afglobal.c in Sources */, - FA2A3D182747063E00E587B6 /* pngshim.c in Sources */, - FA2A3DBE2747063E00E587B6 /* otvjstf.c in Sources */, - FA2A3D0E2747063E00E587B6 /* woff2tags.c in Sources */, - FA2A3D192747063E00E587B6 /* ttcolr.c in Sources */, - FA2A3DD12747063F00E587B6 /* afblue.c in Sources */, FA2A3DBD2747063E00E587B6 /* otvalid.c in Sources */, - FA2A3CF22747063E00E587B6 /* ftccmap.c in Sources */, - FA2A3CF12747063E00E587B6 /* ftcmanag.c in Sources */, - FA2A3DE62747063F00E587B6 /* afloader.c in Sources */, FA2A3DDD2747063F00E587B6 /* autofit.c in Sources */, FA2A3E6C2748608100E587B6 /* ftmm.c in Sources */, - FA2A3E002747063F00E587B6 /* ttsubpix.c in Sources */, FA2A3E6D2748608100E587B6 /* ftgxval.c in Sources */, - FA2A3E092747063F00E587B6 /* ftrend1.c in Sources */, - FA2A3CF92747063E00E587B6 /* ftcglyph.c in Sources */, FA2A3F19274864F700E587B6 /* ftsystem.c in Sources */, - FA2A3D092747063E00E587B6 /* ttmtx.c in Sources */, + FA2A404F274C5F3200E587B6 /* bdf.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; -- 2.45.3 From 77a0ad823b0a7637a1f18a35d97b3c747bd4686d Mon Sep 17 00:00:00 2001 From: Alexander Borsuk Date: Tue, 23 Nov 2021 01:49:29 +0100 Subject: [PATCH 12/14] Changed freetype url to Github mirror for a better stability Signed-off-by: Alexander Borsuk --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index a49d55b370..03f486a233 100644 --- a/.gitmodules +++ b/.gitmodules @@ -37,4 +37,4 @@ url = https://github.com/unicode-org/icu.git [submodule "3party/freetype/freetype"] path = 3party/freetype/freetype - url = https://gitlab.freedesktop.org/freetype/freetype.git + url = https://github.com/freetype/freetype.git -- 2.45.3 From 5da96de40a1123dfe279404dd6783325a4a38d97 Mon Sep 17 00:00:00 2001 From: Alexander Borsuk <170263+biodranik@users.noreply.github.com> Date: Tue, 23 Nov 2021 07:37:04 +0100 Subject: [PATCH 13/14] Build Linux releases for GitHub checks (#1605) Signed-off-by: Alexander Borsuk --- .github/workflows/linux-check.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linux-check.yaml b/.github/workflows/linux-check.yaml index b9207393ee..7c9ee9ba24 100644 --- a/.github/workflows/linux-check.yaml +++ b/.github/workflows/linux-check.yaml @@ -18,13 +18,14 @@ on: jobs: linux-debug: - name: Linux Debug Build and Test + name: Linux Debug and Release Build and Test runs-on: ubuntu-latest strategy: fail-fast: false matrix: - compiler: [{ CXX: g++-10, CC: gcc-10 }, { CXX: clang++, CC: clang }] + compiler: [{ CXX: g++-10, CC: gcc-10 }, { CXX: clang++-12, CC: clang-12 }] + params: [{ CMAKE_BUILD_TYPE: Debug }, { CMAKE_BUILD_TYPE: Release }] steps: - name: Checkout sources @@ -54,7 +55,9 @@ jobs: CC: ${{ matrix.compiler.CC }} CXX: ${{ matrix.compiler.CXX }} # -g1 should slightly reduce build time. - run: cmake . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS_DEBUG=-g1 + run: | + echo "Building ${{ matrix.params.CMAKE_BUILD_TYPE }}" + cmake . -B build -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.params.CMAKE_BUILD_TYPE }} -DCMAKE_CXX_FLAGS_DEBUG=-g1 - name: Compile shell: bash -- 2.45.3 From 897258a85443d677adbb648a19af5b5102bac25d Mon Sep 17 00:00:00 2001 From: dbf Date: Tue, 23 Nov 2021 16:54:34 +0300 Subject: [PATCH 14/14] [strings] Update Russian translations in types_strings.txt Signed-off-by: dbf --- data/strings/types_strings.txt | 149 ++++++++++++++++++++++++++++++++- 1 file changed, 148 insertions(+), 1 deletion(-) diff --git a/data/strings/types_strings.txt b/data/strings/types_strings.txt index 1f64a09723..bbc8c63891 100644 --- a/data/strings/types_strings.txt +++ b/data/strings/types_strings.txt @@ -7,6 +7,7 @@ pl = Transport linowy pt = Transporte aéreo pt-BR = Transporte aéreo + ru = Канатная дорога zh-Hans = 缆车要素 [type.aerialway.cable_car] @@ -16,6 +17,7 @@ pl = Kolej linowa pt = Teleférico pt-BR = Teleférico + ru = Канатная дорога zh-Hans = 缆车 zh-Hant = 纜車 @@ -26,6 +28,7 @@ pl = Wyciąg krzesełkowy pt = Telecadeira pt-BR = Telecadeira + ru = Кресельная канатная дорога zh-Hans = 登山吊椅 [type.aerialway.drag_lift] @@ -35,6 +38,7 @@ pl = Wyciąg orczykowy pt = Telesquis pt-BR = Telesquis + ru = Бугельная канатная дорога [type.aerialway.gondola] en = Aerialway @@ -43,6 +47,7 @@ pl = Gondola kolejki linowej pt = Telecabine pt-BR = Telecabine + ru = Канатная дорога zh-Hans = 循环式索道 [type.aerialway.mixed_lift] @@ -51,6 +56,7 @@ pl = Wyciąg mieszany pt = Teleférico híbrido pt-BR = Teleférico híbrido + ru = Канатная дорога [type.aerialway.station] en = Aerialway Station @@ -88,6 +94,7 @@ ja = 空路 pt = Via aérea pt-BR = Via aérea + ru = Аэропорт zh-Hans = 机场要素 [type.aeroway.aerodrome] @@ -144,7 +151,7 @@ pt = Aeroporto internacional pt-BR = Aeroporto internacional ro = Aeroport - ru = Аэропорт + ru = Международный аэропорт sk = Letisko sv = Flygplats th = สนามบิน @@ -161,6 +168,7 @@ pl = Płyta postojowa samolotów pt = Plataforma de estacionamento de aviões pt-BR = Plataforma de estacionamento de aviões + ru = Перрон zh-Hans = 机场停机坪 [type.aeroway.gate] @@ -170,6 +178,7 @@ pl = Wyjście lotniskowe pt = Porta de embarque pt-BR = Porta de embarque + ru = Выход на посадку zh-Hans = 登机口 [type.aeroway.helipad] @@ -209,6 +218,7 @@ pl = Droga startowa pt = Pista de aeroporto ou aeródromo pt-BR = Pista de aeroporto ou aeródromo + ru = Взлётно-посадочная полоса zh-Hans = 机场跑道 zh-Hant = 機場跑道 @@ -219,6 +229,7 @@ pl = Droga kołowania pt = Faixa de manobras pt-BR = Pista de rolagem + ru = Рулёжная дорожка zh-Hans = 滑行道 [type.aeroway.terminal] @@ -227,6 +238,7 @@ pl = Terminal lotniskowy pt = Terminal de passageiros pt_BR = Aerogare de passageiros + ru = Терминал zh-Hans = 航站楼 [type.amenity] @@ -3842,72 +3854,84 @@ pl = Granica administracyjna pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 行政区域界线 [type.boundary.administrative.10] en = boundary-administrative-10 pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 10级行政区域界线 [type.boundary.administrative.11] en = boundary-administrative-11 pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 11级行政区域界线 [type.boundary.administrative.2] en = boundary-administrative-2 pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 2级行政区域界线 [type.boundary.administrative.3] en = boundary-administrative-3 pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 3级行政区域界线 [type.boundary.administrative.4] en = boundary-administrative-4 pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 4级行政区域界线 [type.boundary.administrative.4.state] en = boundary-administrative-4-state pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 4级州省界线 [type.boundary.administrative.5] en = boundary-administrative-5 pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 5级行政区域界线 [type.boundary.administrative.6] en = boundary-administrative-6 pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 6级行政区域界线 [type.boundary.administrative.7] en = boundary-administrative-7 pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 7级行政区域界线 [type.boundary.administrative.8] en = boundary-administrative-8 pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 8级行政区域界线 [type.boundary.administrative.9] en = boundary-administrative-9 pt = Fronteira administrativa pt-BR = Fronteira administrativa + ru = Административная граница zh-Hans = 9级行政区域界线 [type.boundary.administrative.city] @@ -3915,6 +3939,7 @@ pl = Granica miasta pt = Fronteira de cidade pt-BR = Fronteira de cidade + ru = Граница города zh-Hans = 城市行政区域界线 [type.boundary.administrative.country] @@ -3922,6 +3947,7 @@ pl = Granica państwa pt = Fronteira de país pt-BR = Fronteira de país + ru = Граница страны zh-Hans = 国家行政区域界线 [type.boundary.administrative.county] @@ -3929,6 +3955,7 @@ pl = Granica hrabstwa pt = Fronteira de condado pt-BR = Fronteira de condado + ru = Граница округа zh-Hans = 县行政区域界线 [type.boundary.administrative.municipality] @@ -3936,12 +3963,14 @@ pl = Granica gminy pt = Fronteira de município pt-BR = Fronteira de município + ru = Граница муниципалитета zh-Hans = 自治市行政区域界线 [type.boundary.administrative.nation] en = boundary-administrative-nation pt = Fronteira de nação pt-BR = Fronteira de nação + ru = Национальная граница zh-Hans = 国家行政区域界线 [type.boundary.administrative.region] @@ -3949,6 +3978,7 @@ pl = Granica regionu pt = Fronteira de região pt-BR = Fronteira de região + ru = Граница региона zh-Hans = 1区域行政区域界线 [type.boundary.administrative.state] @@ -3956,6 +3986,7 @@ pl = Granica województwa pt = Fronteira de estado pt-BR = Fronteira de estado + ru = Граница штата zh-Hans = 州省行政区域界线 [type.boundary.administrative.suburb] @@ -3963,6 +3994,7 @@ pl = Granica przedmieść pt = Fronteira de subúrbio pt-BR = Fronteira de subúrbio + ru = Граница пригорода zh-Hans = 市郊行政区域界线 [type.boundary.national_park] @@ -4157,6 +4189,7 @@ fr = Entrepôt pt = Armazém pt-BR = Armazém + ru = Склад zh-Hans = 仓库 [type.craft] @@ -4166,6 +4199,7 @@ pl = Rzemiosło pt = Ofícios pt-BR = Ofícios + ru = Мастерская zh-Hans = 工艺作坊 [type.craft.brewery] @@ -7244,6 +7278,7 @@ pl = Ratunkowe pt = Emergência pt-BR = Emergência + ru = Экстренная служба zh-Hans = 应急要素 [type.emergency.defibrillator] @@ -7414,6 +7449,7 @@ pl = Droga pt = Rodovia pt-BR = Rodovia + ru = Дорога zh-Hans = 公路要素 [type.highway.bridleway] @@ -9652,6 +9688,7 @@ pl = Miejsce obsługi podróżnych pt = Área de serviço pt-BR = Área de serviços de estrada + ru = СТО zh-Hans = 服务区 zh-Hant = 服務區 @@ -10691,6 +10728,7 @@ pl = Historyczne pt = Histórico pt-BR = Histórico + ru = Историческое место zh-Hans = 历史地点 [type.historic.archaeological_site] @@ -11200,6 +11238,7 @@ pl = Skrzyżowanie pt = Cruzamento pt-BR = Cruzamento + ru = Перекрёсткок zh-Hans = 交叉口 [type.junction.roundabout] @@ -11218,6 +11257,7 @@ pl = Zagospodarowanie ziemi pt = Uso do solo pt-BR = Uso do solo + ru = Землепользование zh-Hans = 土地利用要素 [type.landuse.allotments] @@ -11628,6 +11668,7 @@ pl = Obszar pod zabudowę pt = Terreno com construção planeada pt-BR = Terreno com construção planeada + ru = Район под застройку zh-Hans = 待开发荒地 [type.landuse.greenhouse_horticulture] @@ -11636,6 +11677,7 @@ ja = 温室栽培 pt = Estufas pt-BR = Estufas + ru = Теплицы zh-Hans = 温室园艺 [type.landuse.industrial] @@ -11699,6 +11741,7 @@ pl = Teren wojskowy pt = Área militar pt-BR = Área militar + ru = Военные объекты zh-Hans = 军事用地 [type.landuse.orchard] @@ -11718,6 +11761,7 @@ pl = Kamieniołom pt = Pedreira pt-BR = Pedreira + ru = Карьер zh-Hans = 矿场 [type.landuse.railway] @@ -11801,6 +11845,7 @@ pl = Tereny zamieszkania pt = Área residencial pt-BR = Área residencial + ru = Жилая зона zh-Hans = 住宅用地 [type.landuse.retail] @@ -11809,6 +11854,7 @@ pl = Obszar handlu pt = Área de retalho pt-BR = Área de varejo + ru = Зона торговли zh-Hans = 零售用地 [type.landuse.salt_pond] @@ -11818,6 +11864,7 @@ pl = Słone jezioro pt = Salinas pt-BR = Salinas + ru = Соляной пруд [type.landuse.village_green] en = Land @@ -11825,6 +11872,7 @@ pl = Nawsie pt = Espaço verde de um vilarejo pt-BR = Espaço verde de um vilarejo + ru = Парк [type.landuse.vineyard] en = Vineyard @@ -11833,6 +11881,7 @@ pl = Winnica pt = Vinha pt-BR = Vinha + ru = Виноградник zh-Hans = 葡萄园 [type.leisure] @@ -11841,6 +11890,7 @@ pl = Wypoczynek pt = Lazer pt-BR = Lazer + ru = Место для отдыха zh-Hans = 休闲要素 [type.leisure.common] @@ -11848,6 +11898,7 @@ ja = レジャー(共有地) pt = Terreno baldio pt-BR = Terreno baldio + ru = Общественная земля zh-Hans = 公共用地 [type.leisure.dog_park] @@ -12028,12 +12079,14 @@ pl = Rezerwat krajobrazu pt = Reserva natural pt-BR = Reserva natural + ru = Ландшафтный заповедник [type.leisure.marina] en = Marina ja = マリーナ pt = Marina pt-BR = Marina + ru = Причал для яхт zh-Hans = 游艇码头 [type.leisure.nature_reserve] @@ -12310,6 +12363,7 @@ pl = Teren rekreacji pt = Zona recreativa pt-BR = Zona recreativa + ru = Зона для отдыха [type.leisure.sauna] en = Sauna @@ -12352,6 +12406,7 @@ pl = Pochylnia pt = Rampa de barcos pt-BR = Rampa de barcos + ru = Лодочный спуск zh-Hans = 船台 [type.leisure.sports_centre] @@ -12581,6 +12636,7 @@ ja = トラック pt = Pista para desportos não motorizados pt-BR = Pista para esportes não motorizados + ru = Дорожка zh-Hans = 賽道 [type.leisure.water_park] @@ -12620,6 +12676,7 @@ ja = 構造物 pt = Construção humana pt-BR = Construção humana + ru = Искусственное сооружение zh-Hans = 人造要素 [type.man_made.breakwater] @@ -12629,6 +12686,7 @@ pl = Falochron pt = Molhe pt-BR = Molhe + ru = Волнорез zh-Hans = 防波堤 [type.man_made.cairn] @@ -12637,6 +12695,7 @@ pl = Kopiec pt = Moledro ou mariola pt-BR = Moledro ou mariola + ru = Пирамидка из камней [type.man_made.chimney] en = Factory Chimney @@ -12675,6 +12734,7 @@ pl = Przecinka leśna pt = Atalhada pt-BR = Aceiro + ru = Просека zh-Hans = 树林分界线 [type.man_made.lighthouse] @@ -12717,6 +12777,7 @@ pl = Molo pt = Pontão pt-BR = Píer + ru = Пирс zh-Hans = 码头 [type.man_made.pipeline] @@ -12726,6 +12787,7 @@ pl = Rurociąg pt = Pipeline pt-BR = Pipeline + ru = Трубопровод zh-Hans = 管道 [type.man_made.pipeline.overground] @@ -12735,6 +12797,7 @@ pl = Rurociąg nad ziemią pt = Pipeline subterrâneo pt-BR = Pipeline subterrâneo + ru = Трубопровод над землёй zh-Hans = 地面管道 [type.man_made.silo] @@ -12821,6 +12884,7 @@ pl = Oczyszczalnia ścieków pt = Estação de tratamento de águas residuais pt-BR = Estação de tratamento de esgoto + ru = Очистные сооружения zh-Hans = 污水处理厂 [type.man_made.water_tap] @@ -12956,6 +13020,7 @@ ja = 工場 pt = Fábrica pt-BR = Fábrica + ru = Промышленные строения zh-Hans = 工厂 [type.mapswithme] @@ -12970,6 +13035,7 @@ pl = Wojskowe pt = Militar pt-BR = Militar + ru = Военные объекты zh-Hans = 军事 [type.military.bunker] @@ -13008,6 +13074,7 @@ pl = Natura pt = Natureza pt-BR = Natureza + ru = Природа zh-Hans = 自然 [type.natural.bare_rock] @@ -13018,6 +13085,7 @@ pl = Skała macierzysta pt = Zona rochosa pt-BR = Zona rochosa + ru = Скалы zh-Hans = 岩石 [type.natural.bay] @@ -13157,6 +13225,7 @@ pl = Klif pt = Falésia pt-BR = Falésia + ru = Обрыв zh-Hans = 峭壁 [type.natural.coastline] @@ -13280,6 +13349,7 @@ pl = Wrzosowisko pt = Charneca pt-BR = Charneca + ru = Пустошь zh-Hans = 荒野 [type.natural.hot_spring] @@ -13331,6 +13401,7 @@ nl = Land pt = Campo pt-BR = Campo + ru = Земля [type.natural.meadow] en = Meadow @@ -13339,6 +13410,7 @@ pl = Łąka pt = Pradaria pt-BR = Pradaria + ru = Луг [type.natural.orchard] en = Orchard @@ -13347,6 +13419,7 @@ pl = Sad pt = Pomar pt-BR = Pomar + ru = Фруктовый сад [type.natural.peak] en = Peak @@ -13428,6 +13501,7 @@ pl = Skała pt = Rochedo pt-BR = Rochedo + ru = Камень zh-Hans = 岩石 [type.natural.scrub] @@ -13570,6 +13644,7 @@ pl = Rząd drzew pt = Linha de árvores pt-BR = Linha de árvores + ru = Ряд деревьев zh-Hans = 树列 [type.natural.vineyard] @@ -13579,6 +13654,7 @@ pl = Winnica pt = Vinha pt-BR = Vinha + ru = Виноградник [type.natural.volcano] en = Volcano @@ -13686,6 +13762,7 @@ pl = Torfowisko pt = Zona úmida pt-BR = Zona úmida + ru = Торфяное болото zh-Hans = 泥炭地 [type.natural.wetland.marsh] @@ -13696,6 +13773,7 @@ pl = Moczary pt = Zona úmida pt-BR = Zona úmida + ru = Болотистая местность zh-Hans = 沼泽地 [type.noexit] @@ -13704,6 +13782,7 @@ pl = Ślepy koniec drogi pt = Via sem saída pt-BR = Via sem saída + ru = Тупик [type.noexit.motor_vehicle] en = noexit-motor_vehicle @@ -13711,6 +13790,7 @@ pl = Ślepy koniec drogi dla pojazdów mechanicznych pt = Via sem saída para veículos a motor pt-BR = Via sem saída para veículos a motor + ru = Тупик для моторного транспорта [type.office] en = Office @@ -13974,6 +14054,7 @@ pl = Olimpiada pt = Jogos olímpicos pt-BR = Jogos olímpicos + ru = Олимпийские игры [type.olympics.attraction] en = olympics-attraction @@ -13981,6 +14062,7 @@ pl = Atrakcje olimpijskie pt = Atração dos jogos olímpicos pt-BR = Atração dos jogos olímpicos + ru = Достопримечательности [type.olympics.bike_sport] en = olympics-bike_sport @@ -13988,15 +14070,18 @@ pl = Olimpijskie sporty rowerowe pt = Jogos olímpicos de bicicleta pt-BR = Jogos olímpicos de bicicleta + ru = Велоспорт [type.olympics.live_site] en = olympics-live_site + ru = Место жительства [type.olympics.official_building] en = olympics-official_building pl = Oficjalny budynek olimpijski pt = Edifício oficial dos jogos olímpicos pt-BR = Edifício oficial dos jogos olímpicos + ru = Здание Олимпийских игр [type.olympics.stadium] en = olympics-stadium @@ -14004,6 +14089,7 @@ pl = Stadion olimpijski pt = Estádio dos jogos olímpicos pt-BR = Estádio dos jogos olímpicos + ru = Олимпийский стадион [type.olympics.stadium_main] en = olympics-stadium_main @@ -14011,27 +14097,35 @@ pl = Główny stadion olimpijski pt = Estádio principal dos jogos olímpicos pt-BR = Estádio principal dos jogos olímpicos + ru = Главный Олимпийский стадион [type.olympics.transport_airport] en = olympics-transport_airport + ru = Аэропорт [type.olympics.transport_boat] en = olympics-transport_boat + ru = Лодка [type.olympics.transport_bus] en = olympics-transport_bus + ru = Автобус [type.olympics.transport_cable] en = olympics-transport_cable + ru = Канатная дорога [type.olympics.transport_railway] en = olympics-transport_railway + ru = Железная дорога [type.olympics.transport_subway] en = olympics-transport_subway + ru = Метро [type.olympics.transport_tram] en = olympics-transport_tram + ru = Трамвай [type.olympics.water_sport] en = olympics-water_sport @@ -14039,6 +14133,7 @@ pl = Olimpijskie sporty wodne pt = Jogos olímpicos na água pt-BR = Jogos olímpicos na água + ru = Водные виды спорта [type.place] en = place @@ -14046,6 +14141,7 @@ pl = Miejsce pt = Local pt-BR = Local + ru = Место zh-Hans = 地点 [type.place.city] @@ -14649,6 +14745,7 @@ pl = Mała osada pt = Habitação isolada pt-BR = Habitação isolada + ru = Жилище zh-Hans = 孤立居所 [type.place.locality] @@ -14689,6 +14786,7 @@ pl = Sąsiedztwo pt = Bairro pt-BR = Bairro + ru = Микрорайон zh-Hans = 街坊社区/小区 [type.place.ocean] @@ -14783,6 +14881,7 @@ pl = Plac pt = Praça ou largo pt-BR = Praça ou largo + ru = Площадь zh-Hans = 广场 [type.place.state] @@ -14949,6 +15048,7 @@ ja = 電力 pt = Energia pt-BR = Energia + ru = Энергетика zh-Hans = 电力要素 [type.power.generator] @@ -14956,6 +15056,7 @@ ja = 発電機 pt = Gerador de energia pt-BR = Gerador de energia + ru = Генератор энергии zh-Hans = 发电机 [type.power.line] @@ -14964,6 +15065,7 @@ pl = Linia wysokiego napięcia pt = Linha de transmissão de energia pt-BR = Linha de transmissão de energia + ru = Линия электропередач zh-Hans = 超高压输电线 [type.power.line.underground] @@ -14972,6 +15074,7 @@ pl = Podziemna linia wysokiego napięcia pt = Linha de transmissão de energia subterrânea pt-BR = Linha de transmissão de energia subterrânea + ru = Подземная линия электропередач zh-Hans = 超高压输电线 [type.power.minor_line] @@ -14980,6 +15083,7 @@ pl = Linia niskiego napięcia pt = Linha de transmissão de energia de baixa tensão pt-BR = Linha de transmissão de energia de baixa tensão + ru = Линия электропередачи низкого напряжения zh-Hans = 超高压输电线 [type.power.pole] @@ -15020,6 +15124,7 @@ pl = Elektrownia pt = Subestação elétrica pt-BR = Subestação elétrica + ru = Электростанция [type.power.substation] en = Substation @@ -15085,18 +15190,23 @@ [type.psurface] en = psurface + ru = Поверхность [type.psurface.paved_bad] en = psurface-paved_bad + ru = Плохая асфальтированная [type.psurface.paved_good] en = psurface-paved_good + ru = Хорошая асфальтированная [type.psurface.unpaved_bad] en = psurface-unpaved_bad + ru = Плохая неасфальтированная [type.psurface.unpaved_good] en = psurface-unpaved_good + ru = Хорошая неасфальтированная [type.public_transport] en = Public Transport @@ -15131,6 +15241,7 @@ ja = 廃線 pt = Ferrovia abandonada pt-BR = Ferrovia abandonada + ru = Заброшенная железная дорога zh-Hans = 铁路遗迹 [type.railway.abandoned.bridge] @@ -15138,6 +15249,7 @@ ja = 廃線(橋) pt = Ferrovia abandonada pt-BR = Ferrovia abandonada + ru = Заброшенный железнодорожный мост zh-Hans = 铁路遗迹 [type.railway.abandoned.tunnel] @@ -15145,6 +15257,7 @@ ja = 廃線(トンネル) pt = Ferrovia abandonada pt-BR = Ferrovia abandonada + ru = Заброшенный железнодорожный туннель zh-Hans = 铁路遗迹 [type.railway.construction] @@ -15152,6 +15265,7 @@ ja = 建設中の鉄道 pt = Ferrovia em construção pt-BR = Ferrovia em construção + ru = Строящаяся железная дорога zh-Hans = 在建铁路 [type.railway.crossing] @@ -15159,12 +15273,14 @@ ja = 歩行者用踏切 pt = Passagem pedestre pt-BR = Passagem pedestre + ru = Пешеходный переход [type.railway.disused] en = Disused railway ja = 休止線 pt = Ferrovia em desuso pt-BR = Ferrovia em desuso + ru = Неиспользуемая железная дорога zh-Hans = 废弃铁路 [type.railway.funicular] @@ -15367,6 +15483,7 @@ ja = プラットホーム pt = Plataforma ferroviária pt-BR = Plataforma ferroviária + ru = Железнодорожная платформа zh-Hans = 火车站台 [type.railway.preserved] @@ -15429,6 +15546,7 @@ ja = 鉄道(橋) pt = Ferrovia pt-BR = Ferrovia + ru = Железнодорожный мост zh-Hans = 铁路轨道 zh-Hant = 鐵路軌道 @@ -15437,6 +15555,7 @@ ja = 鉄道 pt = Ferrovia pt-BR = Ferrovia + ru = Железная дорога zh-Hans = 铁路轨道 zh-Hant = 鐵路軌道 @@ -15445,6 +15564,7 @@ ja = 鉄道(鉄道) pt = Ferrovia pt-BR = Ferrovia + ru = Железнодорожный туннель zh-Hans = 铁路轨道 zh-Hant = 鐵路軌道 @@ -16476,6 +16596,7 @@ ja = ルート pt = Rota pt-BR = Rota + ru = Маршрут zh-Hans = 线路 [type.route.ferry] @@ -16484,12 +16605,14 @@ ja = フェリー航路 pt = Rota de ferry pt-BR = Rota de balsa + ru = Паромная переправа zh-Hans = 航线 [type.route.shuttle_train] en = Shuttle Train pt = Rota de comboio vaivem pt-BR = Rota de trem vaivem + ru = Челночная линия [type.shop] en = Shop @@ -18706,6 +18829,7 @@ ja = スポーツ pt = Desporto pt-BR = Esporte + ru = Спорт [type.sport.american_football] en = American Football @@ -18997,6 +19121,7 @@ pl = Turystyka pt = Turismo pt-BR = Turismo + ru = Туризм zh-Hans = 旅游要素 [type.tourism.alpine_hut] @@ -19904,6 +20029,7 @@ pl = Uspokojenie ruchu drogowego pt = Redutor de velocidade pt-BR = Redutor de velocidade + ru = Лежачий полицейский [type.traffic_calming.bump] en = Traffic Bump @@ -19928,6 +20054,7 @@ ja = 水域 pt = Curso de água pt-BR = Curso de água + ru = Водный путь zh-Hans = 航道要素 [type.waterway.canal] @@ -20354,6 +20481,7 @@ ja = 車椅子 pt = Cadeiras de rodas pt-BR = Cadeiras de rodas + ru = Инвалидная коляска zh-Hans = 轮椅 [type.wheelchair.limited] @@ -20462,81 +20590,97 @@ en = piste:lift pt = Telesqui pt-BR = Telesqui + ru = Подъёмник [type.piste_lift.j.bar] en = piste:lift-j-bar pt = Telesqui de barra em J pt-BR = Telesqui de barra em J + ru = Подъёмник [type.piste_lift.magic_carpet] en = piste:lift-magic_carpet pt = Tapete deslizante pt-BR = Tapete deslizante + ru = Ленточный конвейер [type.piste_lift.platter] en = piste:lift-platter pt = Telesqui de disco pt-BR = Telesqui de disco + ru = Подъёмник [type.piste_lift.rope_tow] en = piste:lift-rope_tow pt = Telesqui de corda pt-BR = Telesqui de corda + ru = Подъёмник [type.piste_lift.t.bar] en = piste:lift-t-bar pt = Telesqui de barra em T pt-BR = Telesqui de barra em T + ru = Подъёмник [type.piste_type] en = piste:type pt = Tipo de pista pt-BR = Tipo de pista + ru = Тип трассы [type.piste_type.downhill] en = piste:type-downhill pt = Esqui alpino pt-BR = Esqui alpino + ru = Горнолыжная трасса [type.piste_type.downhill.advanced] en = piste:type-downhill-advanced pt = Esqui alpino avançado pt-BR = Esqui alpino avançado + ru = Продвинутая горнолыжная трасса [type.piste_type.downhill.easy] en = piste:type-downhill-easy pt = Esqui alpino fácil pt-BR = Esqui alpino fácil + ru = Лёгкая горнолыжная трасса [type.piste_type.downhill.expert] en = piste:type-downhill-expert pt = Esqui alpino avançado pt-BR = Esqui alpino avançado + ru = Горнолыжная трасса для экспертов [type.piste_type.downhill.freeride] en = piste:type-downhill-freeride pt = Esqui alpino livre pt-BR = Esqui alpino livre + ru = Горнолыжная трасса для фрирайда [type.piste_type.downhill.intermediate] en = piste:type-downhill-intermediate pt = Esqui alpino intermédio pt-BR = Esqui alpino intermédio + ru = Горнолыжная трасса средней сложности [type.piste_type.downhill.novice] en = piste:type-downhill-novice pt = Esqui alpino iniciante pt-BR = Esqui alpino iniciante + ru = Горнолыжная трасса для новичков [type.piste_type.nordic] en = piste:type-nordic pt = Pista tipo nórdico pt-BR = Pista tipo nórdico + ru = Трасса для скандинавской ходьбы [type.piste_type.sled] en = piste:type-sled pt = Pista para trenós pt-BR = Pista para trenós + ru = Трасса для саней [type.building_part] en = Building @@ -20598,6 +20742,7 @@ fr = Autoroute pt = Autoestrada pt-BR = Rodovia + ru = Автомагистраль [type.area_highway.path] en = Path @@ -20659,12 +20804,14 @@ en = area:highway-track pt = Pista para desportos não motorizados pt-BR = Pista para desportos não motorizados + ru = Грунтовая дорога [type.area_highway.trunk] en = area:highway-trunk fr = Voie rapide pt = Via rápida pt-BR = Via expressa + ru = Автомобильная трасса [type.area_highway.unclassified] en = area:highway-unclassified -- 2.45.3