aseprite / aseprite/laf

UTF-8 on Windows

Open
#47 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
349
Forks
97
Avg merge
4d 7h
Merged PRs (30d)
2

Description

Just yesterday I was investigating about the possibility to enable UTF-8 support on the console (using `SetConsoleOutputCP(CP_UTF8)`): https://github.com/aseprite/laf/commit/ad8cf4929f5effab88cc393b7d9534d32a65de8d

But I'm not sure if this should be done by default. Even more, we could add support to use ANSI version of functions which can support UTF-8 directly (if we embed a special manifest file): https://docs.microsoft.com/en-us/windows/apps/design/globalizing/use-utf8-code-page#set-a-process-code-page-to-utf-8

In this way we could avoid the from_utf8/to_utf8 conversions on each Win32 API call (https://docs.microsoft.com/en-us/windows/apps/design/globalizing/use-utf8-code-page#-a-vs--w-apis).

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the linked laf commit and the Microsoft UTF-8 code-page documentation, then inspect how this library currently calls Win32 APIs. The issue does not define whether the default console code page, a manifest, or ANSI APIs should be adopted, so completion requires an agreed direction before implementation can be assessed.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.