1 # Generates a header file for converting between Windows timezone names to tzdb names 2 # using CLDR data. 3 # Usage: powershell -File gen_win_tzname_data.ps1 > win_tzname_data.h 4 5 write-output "/* This file was generated using gen_win_tzname_data.ps1 */" 6 $xdoc = new-object System.Xml.XmlDocument 7 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 8 $xdoc.load("https://raw.githubusercontent.com/unicode-org/cldr/master/common/supplemental/windowsZones.xml") 9 $nodes = $xdoc.SelectNodes("//mapZone[@territory='001']") # use default territory (001) 10 foreach ($node in $nodes) { 11 write-output ('{L"'+ $node.other + '","'+ $node.type+'"},') 12 } 13