DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 4B2I4v6a1949171 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 4B2I4v6a1949171 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=Q3I3Lx1Z X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 98F313858429 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1733162695; bh=o7shRxNEXeegJIOLbiIjXMyOm0bzZNoXWphq5EyElSw=; 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=Q3I3Lx1ZV7xR8wKeHIliVvs6cWj9He4nzGVEss2+azTZmiq4Knsn86OxjkrggzrlM k+KKHyLZhZs58lM1J9YXf5iN/nQDrJn+pomWII9o0pXOQr//0BvjzDqltmobXm8LqB 7c+6A/qKpM+VGWXoGr1IYpXBRW80M00boiTVFdlI= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 357583858404 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 357583858404 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733162660; cv=none; b=f8m5Fzgtq+Tgg1igrfxXc9e5WZujV9aT4JWVoeznebif6qcQrPzgLeeXRWVX/tGmYCm0qr18ZDFDGbFORnQ8dkqdlFpQ2hnNVV+2LC/b16aQQn8vR7DLdwrUewGpVSS05EGeORRXZgyMm02np8XTPk8RCmKAv6p29LRmIw5QDR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733162660; c=relaxed/simple; bh=Umt2QBHWMvZGHvkKpsPyjIqhfb6KW/1whSPsAN1diN0=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=iTKRMhCRItlPQqMPRqfnWMkcRi9RTmxuM8YUaNoGiGDt6Pk+VoxtbraLxmoN3uRayIHCpYCNwNGBC4uy9Zojhns/aq6XCXCBwxvIWsGiX0ZHGJytNBGf++fQdV4sK9lyhxA/gwLNes4gUCMuJmF/3EZSTGyAC1EBcJrZZ4QcD5E= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 357583858404 X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6 Message-ID: <343f6e6c-a411-4c39-9298-1e5a425b798d@towo.net> Date: Mon, 2 Dec 2024 19:04:15 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: =?UTF-8?B?UmU6IFByb2JsZW0gd2l0aCAn4oKsJyAoRVVSTykgc3ltYm9sIGluIChV?= =?UTF-8?B?KUNSVCB8cHJpbnRmKCIlUyIsIC4uLik7fCAuLi4=?= To: cygwin AT cygwin DOT com References: <2bcf040e-0fca-4033-b23b-15bb0583bc5b AT SystematicSW DOT ab DOT ca> Autocrypt: addr=towo AT towo DOT net; keydata= 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 kQ== In-Reply-To: X-Provags-ID: V03:K1:UD0nFCt1up4vblceGAOjL1U0P6LzQPrS3NEueDF8BWzBncn4Etn gEd1Oloivw1fMfN1fMkhaR0HLUlmZ8UWap4ynBwiUwyUmIs7RaffF6greiulZhoOYJxVfdZ 8a+ZmLYaSENXgdtIVDTFPNS5fC/vdu4QwVk8yDmWaaVLp21C+UrRWYfVarCHmIas3Cny6f8 MGTB38rHDxB5XZUvSGkHA== UI-OutboundReport: notjunk:1;M01:P0:oPVQn/AX+Oo=;DBx+yb/PoHemzIg42jFCE6AvmK8 D37JA/wu7cz4g8je2B3md42caXnmXc9HJeCV1nMu0TO/w8G88kbT1HTI+K0Xom8Kx9KbIcKrY qCZdfWKsOTfH/+p1UL+KMmd5G48rEN5ZxyyuuJwsAatGe9emgXP4k85Y29gIGzGtFYYS7uDvl QhHB2AnlsSr7JtNR1RGqe4uiH+EjYoMMCZBP9jlUfr43rcdfyDm+K8HfLIQXm2JefgcgTGekH zRGRi5keXCLi/bag03JXrluyYAb7qUjX2umpFe2foGSEL9q/0zC72mmbyaSnJdZKj0g9lNWsq 2YIPRa7hnYKyODNG3LgI8agC9OMAHB2Sj5Qml01eZJbAi1ddCRpvpIw8yE2bDf4hWd0pNuCpW phEOC9mKg8USv7AQBsozNavVLUvh2pCp6eMBfAKdQuWto6C7LzceIyKz1u4rOu20x+IrOoERt YRwYXXn6jBWrsAx0uF+SEu6ojv/+CxspvYSVhe5TiuWAQnyo5U4FKIqF12dSz/zRJaO4cfPyN K41l2CQPLrCNJOGEL+dtwsG75BetXSPbS3JIK0Px5US7extSKVCZ1sfBI7Ex/SrohWJyubM5i yv/jlkJAhybAZ7BPUrj7JgnO1iU7qvMMTdNr6f8+cCzy2hrwgsWUr825TqBmGG+i8uRCnUwTX lx7FZoetd1M1X7RX2IdffjzSC8aEyzBHt8H9YAqUx0JHanc8KffRfD4BMgHhREa4HPvrU5uKO IjIlg33nrvumKa11Up0aS5oOq0j7kImyA0KThRc566NnGuPbfNfamdaTTeB3elWH/JL4daJ7P UnozwscwAbnTytkPAtGxlOknQ7W6ZxOgMMDaSwfccggjmDjFJzPKwew9TZyF8oxajNSdj6+kF hVAHrgfz9LcJPdKJlbIZc+UFWck0PaIzkFUVCSvAfpKXntorIuKHnbQqBigRGnKi6j1/wfY9X ps4YzosPsMR8ZbuAzLz9UdNm85aoE55RWzlNTsB+CU5GPoEpNFwgAY32TXNkqennNVrat93NP pk8glT4L/iqsVWXLqE= X-Content-Filtered-By: Mailman/MimeDel 2.1.30 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Thomas Wolff via Cygwin Reply-To: Thomas Wolff 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 4B2I4v6a1949171 Am 02.12.2024 um 18:01 schrieb Roland Mainz via Cygwin: > On Wed, Nov 27, 2024 at 1:49 AM Brian Inglis via Cygwin > wrote: >> On 2024-11-26 17:08, Roland Mainz via Cygwin wrote: >>> Cygwin 3.5.4/Win10/64bit, the following program prints a '?' where I >>> would expect a '€' (EURO) symbol: >>> ---- snip ---- >>> printf '#include \n#include \n#include >>> \n#include \n#include \nint main(int ac, char >>> *av[]) { setlocale(LC_ALL, ""); printf("%%S\\n", L"hello € world"); >>> return 0; }\n' >x.c && clang -target x86_64-pc-windows-gnu -Wall x.c >>> -o x.exe && ./x.exe >>> hello ? world >>> ---- snip ---- >>> >>> My hope was that - because Win32 uses UTF-16 for |wchar_t| - that the >>> EURO symbol can be displayed on any locale/code page which supports >>> the EURO symbol, but somehow I always get a '?'. >>> >>> Does anyone know what I am doing wrong ? >> $ grep -aw EURO ~/src/charsets/unicode-symbols.txt >> ₠ U+20A0 EURO-CURRENCY SIGN >> € U+20AC EURO SIGN >> 💶 U+1F4B6 BANKNOTE WITH EURO SIGN >> >> What is your terminal locale and charset? > LC_ALL=en_US.UTF-8. > > But it turns out my issue is a bit UCRT-specific: > It seems UCRT |printf()| is not able to print wide-char values in all > locales/codepages - instead I have to use |wprintf()| and > |_setmode(_fileno(stdout), _O_WTEXT);|. > Unfortunate side-effect is that putting stdout/stderr in wide-char > mode makes any attempt to do a single-char |printf()| fail with an > assert. This is not UCRT-specific, same on cygwin. It works if you drop the -target x86_64-pc-windows-gnu > > Cygwin's native stdio doesn't have that limitation. > > But now I am a bit cursing because of this little issue from > https://learn.microsoft.com/en-us/cpp/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions?view=msvc-170 > ---- snip ---- > ... For historical reasons, the wprintf functions use c and s to refer > to wchar_t characters, and C and S specify narrow characters. ... > ---- snip ---- > ... but it turns out that at least in UCRT you can |#define > _CRT_STDIO_ISO_WIDE_SPECIFIERS 1| to fix this. > > Question is in which Windows or Visual Studio version added this feature... > > ---- > > Bye, > Roland -- 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