소프트웨어가 하나의 (이모지) 글꼴만 사용하는 것을 방지하는 방법은 무엇입니까?

소프트웨어가 하나의 (이모지) 글꼴만 사용하는 것을 방지하는 방법은 무엇입니까?

문맥:

나는 Luke Smith의 st(suckless-terminal) 버전을 사용하고 있습니다모노이드 그룹U1F970대부분의 유니코드 기호에 대한 글꼴을 사용하는 경우 컬러 이모티콘 글꼴을 로드하려고 시도하는 등 의 일부 이모티콘을 볼 때 일반적으로 충돌이 발생하는 것으로 나타났습니다 st(현재는 Apple Color Emoji이지만 다른 사용자의 기본값입니다. Noto Color Emoji두 가지를 모두 시도했지만 동일했습니다. 문제) 및 충돌:

X Error of failed request:  BadLength (poly request too large or internal Xlib length error)
  Major opcode of failed request:  139 (RENDER)
  Minor opcode of failed request:  20 (RenderAddGlyphs)
  Serial number of failed request:  850
  Current serial number in output stream:  883

이 충돌을 피하려면 몇 가지 "불만족스러운" 해결 방법이 있습니다.

  • st전혀 사용하지 마십시오. 그리고 동일한 문제가 있는 다른 소프트웨어를 사용하지 마십시오.
  • 설치해서 ttf-ancient-fonts-symbola사용하고 여기저기서 무색 이모티콘을 사용할 수 있어요. 이 솔루션을 사용하면 색상 이모티콘을 가지고 있거나 사용할 때 마다 기본적으로 색상 이모티콘이 사용되므로
    색상 이모티콘을 제거해야 합니다 .NotoAppleSymbola
  • 시작할 때 글꼴을 비활성화한 다음 st( .파일 이름 앞에 a가 있으면 숨길 수 있음) 다시 활성화합니다. 부정행위로 보이며 다른 소프트웨어를 시작할 때 문제를 일으킬 수 있습니다.
  • 개인 user폴더에 이모티콘을 저장하고, 다른 사용자를 생성하고 user_2, 시작 st하고 다시 user_2되세요 user.
    이를 수행할 수 있는 방법이 있습니까? 그렇다면 이것이 충돌을 방지하는 가장 쉬운 방법입니까?
  • 다음 솔루션을 사용하세요.Github의 Luke Smith의 St:
    If st crashes when viewing emojis, install libxft-bgra from the AUR.
    Arch 기반 배포판을 사용하지 않기 때문에 작동하지 않을 수 있습니다.
    (현재 Ubuntu 20.04LTS를 사용하고 있습니다. AUR을 안전하게 사용하는 방법을 아는 사람이 있다면 그럴 것 같지 않습니다.)

내가 하고 싶은 것:

컴퓨터에 Apple Color Emoji내가 선택한 소프트웨어를 제외한 모든 소프트웨어를 허용하도록 지시하고
(현재는 st( pango-view일부 테스트를 위해 두 번째 소프트웨어만 사용하고 있습니다) 또는 다른 소프트웨어를 사용하고 있습니다 xft) 이모티콘에 "허용"하려는 항목을 사용하라고
지시합니다 . , 하는 것이 가장 좋습니다 .ststSymbola

아니면 적어도 Symbola기본적 으로 emoji가족 사진을 촬영하도록 내 컴퓨터에 지시하세요. 가능하다면
"기본적으로만 적용됩니다 ".st

나는 해결책이 있을 수 있다고 생각한다 font-config.

내가 시도한 것(완전하지는 않음):

을 사용하면 대상 전용 font-config과 같은 일부 태그가 있습니다 <match><test><string>st</string></test>…</match>("글꼴을 굵게 표시, st에 대해서만, 특정 크기에 대해서만"이라고 말할 수 있습니다. 내 컴퓨터에서 작동합니다). 하나 이상의 글꼴을 전역 모드로 비활성화하는 것과 같은 다른 태그도 있습니다.st

<selectfont><rejectfont><glob>/path/to/emoji/font</glob></rejectfont></selectfont>

그것들을 결합해 보았으나 불가능해 보입니다. 다음은 작동하지 않는 코드입니다. (
글꼴은 "만 st"이 아닌 모든 곳에서 제거됩니다.)

<match>
    <test qual="all" name="prgname" target="pattern" compare="eq"><string>St</string></test>
    <selectfont>
        <rejectfont>
            <glob>/home/user/.local/share/fonts/Apple*</glob>
        </rejectfont>
    </selectfont>
</match>

나는 <selectfont>라벨이 <match>라벨 안에 있어야 한다고 생각하지 않습니다.


이것질문실제로 알려져 있으며 관련성이 있을 뿐만 st아니라 여기에서 거의 모든 솔루션을 시도했지만 여전히 충돌이 발생합니다.
누군가가 이 질문에 대해 제안한 것과 유사한 내가 시도한 것의 예:

<match target="pattern">
  <test name="family"><string>emoji</string></test>
  <edit name="family" mode="append"><string>Symbola</string></edit>
</match>
<match target="pattern">
  <test qual="any" name="family"><string>Apple Color Emoji</string></test>
   <edit name="family" mode="assign" binding="same"><string>Symbola</string></edit>
</match>

그러나 그것의 유무에 관계없이 의 출력은 fc-match --verbose :family=emoji | grep '^.family:
여전히 ​​​​동일합니다 family: "Apple Color Emoji"(s).

대신 기본 고정폭 글꼴을 사용해도 monospace여전히 작동하지 않습니다. 내가 여기서 뭔가 잘못하고 있는 걸까요?emojiApple Color Emoji


기본 글꼴을 설정하는 솔루션을 찾았습니다(아래),

<alias>
  <family>monospace</family>
  <prefer><family>Cantarell</family></prefer>
</alias>

monospace라는 임의의 글꼴을 설정했는데 Cantarell작동했습니다. 포함된 다른 글꼴에서도 작동하지만 여기에 대신
쓰면 작동합니다! 그래서 기본 글꼴을 변경하는 방법이 있습니다. 좋은 시작이지만 소프트웨어에만 국한된 것이 아니며 같은 방식으로 취급되지 않는 것 같습니다. 이모티콘의 기본값은 및 를 모두 활성화하는 경우이며, 이 솔루션에서는 기본값으로 다시 설정할 수 없습니다.emojimonospace
emojisans-serifserifmonospace
Noto Color EmojiApple Color EmojiNoto Color EmojiApple Color Emoji

나는 또한 이 구성이 작동하지만 작동하지 않는다는 것을 알았습니다. sans-serif시도 monospace할 때 마다 비슷한 결과가 나오 sans더라도 작동하지 않습니다 . 대신 같은 댓글입니다 . 아마도 이 세 단어는 ,,, 을 의미 하며 공통점이 있을 것입니다.:family=sans:family=sans-seriffc-matchmonomonospacesansmonoemoji

그런데 이 “공통 기반”은 무엇입니까? 이런 것을
만드는 방법이 있나요 ?emojimonospace

관련 정보