Вопрос или проблема
В Word 2010 при вводе (например) Alt+1 или Alt+4 (с использованием цифровой клавиатуры) получаются символы Unicode для смайла или ромба в выбранном шрифте – например, ☺ ♦
В Word 2016 они теперь заменены на яркие иконки-эмодзи:
cnread предложил полезный способ генерации символов, вводя их Unicode-коды (263A для ‘White Smiling Face’ и 2666 для ‘Black Diamond Suit’) и преобразуя с помощью Alt+X, что является удобным обходным решением, хотя и лишенным простоты предыдущего подхода.
Есть ли возможность заставить Word отображать иконки Unicode вместо вычурного клип-арта? Очевидных вариантов не видно ни на страницах настроек, ни в опциях автозамены.
Вставьте символ U+FE0E VARIATION SELECTOR-15 (VS15) после каждого символа, который иначе может отображаться в виде эмодзи. Это вариантный селектор, который просит отображение в тексте (в отличие от стиля эмодзи) для предыдущего символа. Вы можете ввести его, например, набрав fe0e Alt X.
Если вам часто это нужно, вы можете сначала ввести текст без вариантных селекторов, а затем выполнить подходящую глобальную замену(-ы). Или вы можете определить в таблице для автоматических “исправлений” в Word подходящую нотацию, например, “.d”, определяемую для отображения BLACK DIAMOND SUIT, за которым следует VS15.
Это работает в Word 365, хотя не совсем детерминированно. Например, эффект VS15 может распространяться на два или более предыдущих символа, и установка шрифта также может оказывать эффект.
Я также был очень разочарован автозамещениями Word для символов, которые уже существуют в используемом мною шрифте — совпадение, тот же шрифт и один из тех же символов u2666, что и в вопросе MS609. Segoe UI содержит глифы для пик, червей, бубен и треф, хотя они все либо черные, либо в черном контуре. Однако, когда вы вводите их как символы Unicode (в моем случае, через AHK, отправляя правильный символ), Word заменяет их на символы Segoe UI Emoji, чего я определенно не хочу. XML, генерируемый в Word, выглядит следующим образом (для символа пик):
<w:r w:rsidR="003E3D80">
<w:rPr>
<mc:AlternateContent>
<mc:Choice Requires="w16se">
<w:rFonts w:cs="Segoe UI"/>
</mc:Choice>
<mc:Fallback>
<w:rFonts w:ascii="Segoe UI Emoji" w:eastAsia="Segoe UI Emoji" w:hAnsi="Segoe UI Emoji" w:cs="Segoe UI Emoji"/>
</mc:Fallback>
</mc:AlternateContent>
</w:rPr>
<mc:AlternateContent>
<mc:Choice Requires="w16se">
<w16se:symEx w16se:font="Segoe UI Emoji" w16se:char="2660"/>
</mc:Choice>
<mc:Fallback>
<w:t>♠</w:t>
</mc:Fallback>
</mc:AlternateContent>
</w:r>
Один ужасный беспорядок для чего-то, что я даже не хочу! Фактический глиф показан в четвертой строке снизу, но он появляется как эмодзи, как только Word захватывает его.
Как я, наконец, решил эту проблему, так это используя предложенное выше методологию — то есть, вместо того чтобы отправлять символ, отправляйте кодовую точку Unicode (например, 2660 для черной пики), после чего Alt+X (SendInput 2660!x в коде AHK). Это абсурдно, что это необходимо, но еще одно подтверждение того, что “умные” функции Word часто глупы — особенно когда вы не можете их отключить. И этот способ Alt+X вставки символов Unicode работает только в Word, поэтому это неприятно, если вы хотите вставлять символы в другие редакторы.
Если вы не знаете о AHK (AutoHotKey), вам стоит ознакомиться с ним — он может быть чрезвычайно полезным. Также полезными являются BabelMap и BabelPad для работы с символами Unicode.
Я использую Word 2019, здесь это становится немного сложнее!
Когда я ввожу 2640, я получаю правильный символ unicode ♀ [ChrW()=10084], но когда я ввожу ♀ на своей клавиатуре (модифицированная раскладка с дополнительными символами, такими как ♀), символ unicode заменяется ужасным цветным эмодзи [ChrW()=49]. Шрифт все еще Arial Unicode, не Segoe UI Emoji! Изменение шрифта ничего не меняет.
Если я теперь вставляю символ U+FE0E VARIATION SELECTOR-15 (VS15) после эмодзи, цвет исчезает, но это все еще черно-белое эмодзи с тем же ChrW()=49. Это показано как ♀︎, но с квадратной рамкой вокруг!
Мое решение — использовать следующий макрос Word, который я назначил на Ctrl+SpaceBar, который преобразует оба эмодзи в истинный unicode:
Sub Emoji_away()
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
' Debug.Print AscW(Selection())
Selection.Copy
Selection.PasteAndFormat (wdFormatPlainText)
End Sub
Это просто перезаписывает эмодзи тем же кодом символа, но без его формата. Это, разумеется, можно сделать вручную, но использование макроса быстрее.
Да, это форматирование – чтобы просто получить обычный значок, используйте шрифт “Sergoe UI Symbol”. Это то, на что он изменился на моем компьютере – однако, кажется, что любой шрифт, кроме “Sergoe UI Emoji”, покажет правильный шрифт.
Это не совсем ответ, так как я не могу найти опцию, чтобы остановить автоматическое изменение шрифтов в Word – но я не могу вставить изображения в комментарий.
С помощью вырезания / вставки и применения стилей я получаю эти три глифа, отображаемых из одной точки Unicode:
Следующий стиль – это оригинальный желтый эмодзи
Следующий стиль дает выразительный эмодзи
Следующий метод, кажется, работает в Word 365 (у меня сейчас нет Word 2016 для тестирования):
Скопируйте символ из любого источника, например, из вашего документа Word, где он отображается в стиле эмодзи, и вставьте его в нужное место, используя опцию вставки только текста, без форматирования. (Он тогда получит стиль текста в этом месте, и вы можете затем изменить его шрифт и цвет, если нужно.)
Ответ или решение
Вопрос о том, как предотвратить отображение символов Unicode в виде "эмодзи" в MS Word 2016, на самом деле затрагивает несколько основных аспектов управления шрифтами и форматирования текста в этом текстовом редакторе. Это важная тема, особенно для пользователей, которые сталкиваются с проблемами совместимости и отображения различных символов в документах.
Теория
Основная причина, по которой символы Unicode, такие как ☺ или ♦, отображаются как эмодзи в Microsoft Word 2016 и более поздних версиях, заключается в использовании шрифта Segoe UI Emoji, который предназначен для отображения графических, цветных эмодзи. Этот шрифт выбирается Word автоматически, заменяя стандартные черно-белые символы шрифтов на более красочные эмодзи. Это может происходить из-за настроек автозамены и встроенной логики форматирования, заложенной в Word для улучшения эстетического вида документов.
Пример
Рассмотрим пример, когда пользователь вводит символы с помощью цифровой клавиатуры, используя комбинацию Alt + (число). В Word 2010 это приводило к выводу черно-белых символьных знаков, характерных для выбранного шрифта. Однако в Word 2016 и позднее эти символы заменяются на цветные эмодзи. Указание символов Unicode (например, 263A для белой улыбающейся мордочки или 2666 для черного ромба) и последующая конвертация их с помощью Alt + X является временным решением.
Дополнительной проблемой является то, что замена на эмодзи происходит даже тогда, когда шрифт Segoe UI Emoji не выбран явно. Например, использование шрифта Arial Unicode, который не должен автоматически использовать эмодзи, все равно может приводить к отображению символов с применением цветового оформления.
Применение
Для решения данной проблемы существует несколько подходов:
-
Использование Символов с Вариацией: Вставка символа U+FE0E VARIATION SELECTOR-15 (VS15) после символа Unicode поможет указать Word, что символ должен отображаться как текст, а не как эмодзи. Это решение может быть реализовано путем ввода кода символа (например, fe0e) и нажатия Alt + X.
-
Смена Шрифта: Убедитесь, что используется шрифт, не поддерживающий эмодзи-стиль, как, например, Segoe UI Symbol. Это поможет исключить автоматическое форматирование.
-
Копирование и Вставка без Форматирования: Вы можете скопировать нужный символ и вставить его в желаемую позицию документа, используя опцию "Вставить только текст", что позволит сохранить стиль текста в конечной локации.
-
Использование Макросов: Для пользователей, потребность которых в использовании Unicode без эмодзи возникает часто, рекомендуется создание макросов. Например, предложенный макрос на VBA, который заменяет форматированный символ его текстовой версией:
Sub Emoji_away() Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend Selection.Copy Selection.PasteAndFormat (wdFormatPlainText) End Sub
Этот макрос можно назначить для быстрого доступа, например, на сочетание клавиш Ctrl + SpaceBar.
-
Тонкие Настройки Форматирования: Проверьте настройки автозамены в Word, чтобы убедиться, что они не вызывают нежелательных замен. Внимательно отнеситесь к выбору стилей и убедитесь в отсутствии автоматических стилей, которые могут вызывать изменение формата.
Таким образом, внимательное изучение настроек Microsoft Word и использование сторонних инструментов управления текстом, таких как AutoHotKey для автоматизации ввода Unicode, может значительно облегчить работу с текстом и его форматирование, позволяя избежать нежелательных эмодзи-замен. Эти решения помогут вам достичь ожидаемого результата и обеспечить консистентность вашего документа, что особенно важно в профессиональной среде.