X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EB2673858291 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1678757461; bh=xjQvG9b6+aqd9VXt9qaNvL31unfHPEBIu8prL8S/Bww=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=qB1Tst70+TSUXgqCuWpPxH7FZFBJU12dZSC1QqwxV0TjpYywWWFEO4T47XixQ1wYy bLBfkOZjwdLqqqWRgjyDlEHCvYDk1fx0ES6sy0dHXQDNRrAWhR9WxYZym3AzH5NxXS 4TmoABgwJ9hbWlIMZF4blw/eyqMZZ9/+I0E/jPSg= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AF3633858D32 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F68uh04/wKGd49BguTzV9YMqmZcIom88YS+o2KshZ0/9dP1VyYGTdSNXWI5iPnauEL1xcYRLiQALxM6Y4z2Z6vlhMNvucMPtZXBWfc7/WIJI8B9zhmB2aB0OJqtcNaszQiLmNwWSBwv7szuWUMrhdEEnKdSHETiESInbgXxJWnaU5pvTlpmnF3NXl/V6PigoKJ9s3Vbu8ec00DQZXMnBZLc4R5/g1OxtJA4hVVKqB81Tl3peQxm4jnqs+G9PlxJCVRYF9H+07VbZfGD25HGVPKflNc5Ab71sanudgCKPKo8xdWhnwvF8UPQ7M41WC/daKztljMy11oUqfgMzOS2PKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FbSVEqdC5V6LrEgHwB/Ox3NPOlHRwEWZdT9cBCPYSXw=; b=W9zZ68E90DL5Z0dJwKVPRxLszViWTIafSzTvxTuouk9vgPuHWBRIBhzaShmz1xXTsKYrUy2XPjQjcKzoWHeFNOBvWETfzE2yw17X1Nl9nn1XKV3yA/TBVdfdQYLifByTIdj4B9Z8TNBcmnJ07fSSjY0SMB/HiJIoG+gUxHyE/IAsvsvBIeNX+F8Li+uV5lu3IUBtL6jE7Y0GENAuBtv3GiOJR3EFQ7n+sRXWx25bxmVEzWmHZuF5ZSRuoPuG5/0tuFs1GjZsGghXBeNPua+CByKod1+b3KoLKVZo0KGBb4s6BcEfALh9J+SdVXicgAUEkjpUAgM8eAdbSdy4PIwKHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Message-ID: Date: Tue, 14 Mar 2023 09:30:02 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [ERROR] Locale Monetary Symbol Prints Wrongly on Windows : Cygwin To: cygwin AT cygwin DOT com References: Content-Language: en-US In-Reply-To: X-TMN: [BoqSKulOvs3NPnR+S9R9OMzZsbwYvUXP] X-ClientProxiedBy: SG2PR02CA0103.apcprd02.prod.outlook.com (2603:1096:4:92::19) To PH0PR05MB9918.namprd05.prod.outlook.com (2603:10b6:510:299::5) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR05MB9918:EE_|BY3PR05MB8291:EE_ X-MS-Office365-Filtering-Correlation-Id: 71800ce6-a8da-4b69-bf60-08db242bab88 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eDhQBNFS5iplYg2CZ4fNXRE5CKlph4QwOrzrYR2z4XY3BjFDPkEyvnMbLYyIw2C+Qe/zAWcL6Jr+8QAHRWES1KUV6Y9zcV4A35351l5Y8YgCNZNWbBmqt/mFghZkCCnMm+jb1aIi5AJks36js51ITv76nGXrjQvr+Rrg6UjxH4qKa84TUL87UG5A7WimeFyKKvYdO0lXhTyQni/7/fu+ZzrFoh+CxVVzIDfkCoUMCcQ/TSgVPP5TqcyjC7sJasDyjk7FuTjgFmGe96zG5KNdM27TTIRny3vjujRMDnWZBfiHksGkhf2rUyEbYXUxMLrGrOfNJvgmXAux5DmL6rrxGPB/QybBoT4KQ/mmcgpEjh3Ji0Pdu54fWMvK1AmWghcq9Yz4U6BHYe/A752N4am4xo2K1uRZ8E094wr6biz+6GsIzQL/5tqYtGc6GSJtz2twhZlaJ5Y7RMbsDMnejI+4Jl+xVRDtMd4rW+HJH3BVGBDLiDgXX1wsGu5UxIo7+/VfzChzbWCcTukGxG6g0+AoUKB5I8CtRqkkfnuO4kLDmQOhD+SwPwgK3p6mP9GQIaY96V9MyD7nr+t71lgSwQux88slHPc4plyrUvuKu9gwsIThVivv8B78WMifqlBq+Vqzdu0zzBNnEl+MidVPA3EqfA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OUUwNU9XWTRpRm5YYWdhS1Vlb3RBeXVUOFBiNElqT1FZbWpxVEpoK2FGRUsz?= =?utf-8?B?ODJBLy9NdFcwcE43bk1ZR29ZWHVRT2MvVXFNK3JTMnhlVUF4T2pzR2R5ME85?= =?utf-8?B?STRYZGtXQVkvMytrVVBtUWVTTUdBeU1SSXM2VW8rUGJRWkIzUC9SN09adzQ4?= =?utf-8?B?eXU2d2grVit2MWNpRnJ4UXkzK3dyWStieEhsUjFza3NZMjNmYWk5RGVTRkU5?= =?utf-8?B?OUt1TERrRGF5VEFFaloyTGNhVkRNWTZYZ3Q0MUhvZWJHK0wvb01nejF2Q1Z4?= =?utf-8?B?OG5zdnZKN2RQM0Z5T0JnaGNPVkZCTzZmWWVRbGU3SjRVcnk1c3pPRm1SSE5C?= =?utf-8?B?cTQvV3ZDU1JJanErM2NoV3JCYXUwZWJpczByWHI2d0lwU0QxN21jU3QycktF?= =?utf-8?B?eVlKd3NESlN3K0JIdUo1allMNkZ2Vm1peHZPOHFOeVpjc0Jja2ROSkNUbENU?= =?utf-8?B?WUs1ZzJyU0ROaHNIa2RwUXVSTUlMYXMydDRqYXZHelVGWDk1ZkR0c3g1NmFx?= =?utf-8?B?cy9GZjlYM3dJc3FHTTZESGlaR3UybzQvWklwTVdGN24vdnlJdThqdFdlU1oy?= =?utf-8?B?NE5aTGpEeWNjUmp6THR4eGZGZ0R6SDRMclVYQnlraVNwZzNoNnhCNDIzTTBX?= =?utf-8?B?aVVEcXlNbUpFaDhIa3pkNzdPV1ozemkrR3lnYU5haFZXQzVNRFZZNjNxanhj?= =?utf-8?B?dHhiWkxGL09yQ2JLVjNJV3RkNXlCaHI4bkpWdFY4bGhlb3hIMUtwanluWkM2?= =?utf-8?B?cW5KK2lvTDNCQkkvTHZIQ0FWWWJTSmk5T0xoTnphMk5YdkladjNYSGF2NWhS?= =?utf-8?B?bmYyVEtxQXE1L1ozWlU0WUJPNnFEak9jaXdVMVdHcFRuMXJEczFqV3EwQW1M?= =?utf-8?B?b2NWYlVRa3FsUlpVTDQ2QytvVWE4d2VSMzNVYXpwYm11TCtBYW4rTUQzWmJK?= =?utf-8?B?RVJuTVpwZVR5OU1QWlhRNXduR09mUGNCTy95RDdaOGI1QUkrNDg0Z1ZrZlZ2?= =?utf-8?B?RFA5YTdtVXRab2RyRDFJb3E2QU4ydmQrWjhWSFJVMENieFRIMGo5bzBzNEcr?= =?utf-8?B?dWJaMFBiWHM0cWZFSVFJSlBlNStJZUdMazcrREJ5U04vYVNSZStnQ20wckd0?= =?utf-8?B?aGNsYllxSzRmdW9FalI1a2xLYTVPS296TVFaNmhIS3I3ZHM2UGV5MjRpRjJr?= =?utf-8?B?V1B3d3FZdmE2SDdheTJoS1J1d1krWnh1bzdaSmRGVlN0RkNNMGRHcUZiKzhE?= =?utf-8?B?MHRrQWhETkorcm9EcGxuWWN3NGtPN28vdXdQL3VDMjBIYVN1VTlSVm5PZU96?= =?utf-8?B?a1U1UUwydDdSWnBSNmpsenRxbWpZalpCUFNZVWJZUTBSS3RQKzE1S2RoUVlv?= =?utf-8?B?M0p5M29PR0tCOXZMZ2NhZUE5RVVROXRmOGcvbFFNeFJ4dWY2ajRwb2t6TFVL?= =?utf-8?B?RndwdjhPVWdxMHJ4ZWJvWHBsVWExQ1pOU0dKelRyaVVDVUpnMUFlamRuWVRm?= =?utf-8?B?K0xiUVBlVUo0S2tVSnpWNUY2ZjJPRDMrZ21BUTNQS2w1aFZpSDhLM0k4c2xq?= =?utf-8?B?VmkxaVp1SXBlc1pPYzBuYWdaam9TR04yQUMrejdjeWJBdjZlRE9BYlZJSThy?= =?utf-8?B?TUh2bkQrcTQ3QndrZWFaSllTR2I2bFd2eGVmSm12b29aMnE3Tktoa1NKTHoy?= =?utf-8?B?U2lVMkNUa2o4VlU2OTFNOThzdEs3QitVYkc3QUZhM1JMZ3FRTGkrK05RPT0=?= X-OriginatorOrg: sct-15-20-4823-7-msonline-outlook-84f76.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 71800ce6-a8da-4b69-bf60-08db242bab88 X-MS-Exchange-CrossTenant-AuthSource: PH0PR05MB9918.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 01:30:18.8875 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY3PR05MB8291 X-Spam-Status: No, score=2.2 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_MUA_MOZILLA, FREEMAIL_FROM, NICE_REPLY_A, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Yeo Kai Wei via Cygwin Reply-To: Yeo Kai Wei Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 32E1VOwO030829 Hi Corinna, I can't update to 3.5+, I tried reinstalling using the Cygwin setup Using "uname -a", my current version is 3.4.6-1.x86_64. I assume 3.5 hasn't been released officially. May I know where to get the test release? In the terminal, when I use $LC_MONETARY = "en_ZM.utf-8" locale -ck LC_MONETARY Cygwin replies "-bash: LC_MONETARY: command not found" Thank you very much. Kind Regards, YEO Kai Wei On 13/3/2023 6:49 pm, Corinna Vinschen wrote: > On Mar 13 08:40, Yeo Kai Wei via Cygwin wrote: >> Hi All, >> >> May I ask if there's a bug with Cygwin and Windows currency? > The en_ZM locale isn't yet supported by Cygwin. This will change with > Cygwin 3.5.0. You can install the latest Cygwin test release > 3.5.0-0.231.g93f70d7849b8 and retry. You'll get the correct output: > > Region: en_AU.utf-8 Currency symbol: $ International currency symbol: AUD > Region: en_CA.utf-8 Currency symbol: $ International currency symbol: CAD > Region: en_GB.utf-8 Currency symbol: £ International currency symbol: GBP > Region: en_US.utf-8 Currency symbol: $ International currency symbol: USD > Region: en_NZ.utf-8 Currency symbol: $ International currency symbol: NZD > Region: en_ZM.utf-8 Currency symbol: K International currency symbol: ZMW > > Btw., you don't even need a test application, just call > > $ LC_MONETARY="en_ZM.utf-8" locale -ck LC_MONETARY > >> The correct answer should be "Region: en_ZM.utf-8 Currency symbol: K >> International currency symbol: ZMK" >> >> Supposedly, the code works on Linux. >> >> Is this an issue with Windows? > We're fetching most locale information from Windows, this includes the > LC_MONETARY information. However, the locale support up to Cygwin 3.4.x > is restricted by an issue in Windows: > > Originally, locales were handled in Windows by using so called locale > identifiers, LCID, 2 byte numbers. These LCIDs are used by Cygwin > internally. > > In the meantime, Windows switched from LCIDs to locale string > identifiers following RFC 4646 resp. RFC 5646. Now, the problem is this: > > Cygwin didn't yet follow suite, still using LCIDs internally, but > Windows introduced locales for which no LCID has ever been assigned. > Asking for the LCID for "en-ZW" returns 0. > > For Cygwin 3.5.0, I converted Cygwin to use RFC 5646 locale strings > internally, too, so the next major version of Cygwin will be able to > support all locales Windows supports. > >>     while (regions[i]) >>     { >>         setlocale(LC_MONETARY, regions[i]); > You're not checking for errors here. If the locale isn't supported, > setlocale should return NULL... > >>         const struct lconv* loc = localeconv(); > ...and the locale information stays unchanged. As such, if en_ZM isn't > supported, this call will still fetch the information of the en_NZ.utf-8 > locale. > > > HTH, > Corinna -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple