From 3665d8823dd13a86d626553f7c1da27b8ec10982 Mon Sep 17 00:00:00 2001 From: Zezombye Date: Tue, 12 Aug 2025 06:56:05 +0200 Subject: [PATCH] Improve windows lookalike characters --- yt_dlp/utils/_utils.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/yt_dlp/utils/_utils.py b/yt_dlp/utils/_utils.py index a5471da4df..bce7af3b9a 100644 --- a/yt_dlp/utils/_utils.py +++ b/yt_dlp/utils/_utils.py @@ -639,8 +639,18 @@ def replace_insane(char): elif not restricted and char == '\n': return '\0 ' elif is_id is NO_DEFAULT and not restricted and char in '"*:<>?|/\\': - # Replace with their full-width unicode counterparts - return {'/': '\u29F8', '\\': '\u29f9'}.get(char, chr(ord(char) + 0xfee0)) + # Replace with lookalike characters + return { + '"': '\u2033', + '*': '\uA60E', + ':': '\u0589', + '<': '\u227A', + '>': '\u227B', + '?': '\uFF1F', + '|': '\u01C0', + '/': '\u29F8', + '\\': '\u29f9', + }[char] elif char == '?' or ord(char) < 32 or ord(char) == 127: return '' elif char == '"':