การแทนที่แบบอักษรด้วย ~ / .fonts.conf


18

ฉันพยายามใช้ ~ / .fonts.conf เพื่อแทนที่ Helvetica ด้วย Droid Sans นี่คือเนื้อหาของไฟล์:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test qual="any" name="family"><string>Helvetica</string></test>
    <edit name="family" mode="assign"><string>Droid Sans</string></edit>
  </match>
</fontconfig>

แต่ไม่ว่าอะไรจะเกิดขึ้นก็ตาม ฉันลองใช้ fc-cache ฉันเช็คอิน/etc/fonts/conf.dแล้วและพบ50-user.confว่าดูเหมือนจะเรียกการกำหนดค่าเฉพาะของผู้ใช้อย่างชัดเจน

ฉันพลาดอะไรไป

ขอบคุณ

แก้ไข: หลังจากการตรวจสอบฉันพบว่ากฎอื่น ๆ ในการ/etc/fonts/conf.dเขียนทับการกำหนดค่าผู้ใช้ดังนั้นการเชื่อมโยงuser.confไปยังความ00-user.confช่วยเหลือ ยังเป็นเพียงบางส่วนที่ประสบความสำเร็จเนื่องจากฉันสามารถระบุแบบอักษรที่ควรจะแทนที่ แต่แทนที่ตัวเลือกของฉันจะถูกละเว้น: ในคำอื่น ๆ ฉันสามารถทำให้Helveticaไม่ถูกต้องและระบบจะกลับไปที่ตัวอักษรถัดไป (เช่นในเบราว์เซอร์ ใช้ฟอนต์ถัดไปที่ระบุในสไตล์ชีตหากไม่มีอยู่จะแสดงแบบอักษรมาตรฐาน sans-serif)


ฉันมาที่นี่เพราะฉันกำลังจะทำสิ่งที่คล้ายกัน หวังว่าคนมีคำตอบ ...
Ludwig Weinzierl

ยังคงมองหาคำตอบ
Capi Etheriel

คำตอบ:


16

ฉันคิดว่าแอตทริบิวต์การเชื่อมโยงขาดหายไปในการกำหนดค่าของคุณ (ดูเพิ่มเติมที่font-conf ) ทั้งนี้ขึ้นอยู่กับการกำหนดค่าอื่น ๆ ของคุณอาจมีการผูก "เหมือนกัน" หรือ "แข็งแรง" ในขณะที่ "อ่อนแอ" อาจไม่ให้สิ่งที่คุณต้องการ

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test qual="any" name="family"><string>Helvetica</string></test>
    <edit name="family" mode="assign" binding="same"><string>Droid Sans</string></edit>
  </match>
</fontconfig>

1
ทำงานให้ฉัน ดูเหมือนว่าการเพิ่มbindingคุณสมบัติสร้างความแตกต่าง ฉันใช้ fontconfig-2.8.0
MaoPU

สิ่งนี้ใช้ได้กับฉัน
miloshadzic

3

ฉันคิดว่ากลไกนามแฝงจะทำงานเพื่อสิ่งนี้:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>Helvetica</family>
    <prefer>Droid Sans</prefer>
  </alias>
</fontconfig>

1
<alias> ไม่ใช่แค่เพื่อทดแทนแบบอักษรที่ไม่ได้ติดตั้งหรือไม่
MaoPU

@MaoPU: ฉันคิดเหมือนกัน แต่หลังจากอ่านเอกสารมันทำให้ฉันเชื่อว่าพฤติกรรมนั้นได้รับการกำหนดค่า <accept>จะมาก่อนเมื่อไม่ได้ติดตั้ง<prefer>ฟอนต์
JM Becker

/ \ ไม่มันไม่ได้เว้นแต่ว่า.confไฟล์ที่มีกฎนี้จะถูกอ่านก่อน
Marc.2377

อืม - ที่กล่าวมามันใช้งานได้ถ้าbinding="strong"ใช้พร้อมกับ<alias>องค์ประกอบ!
Marc.2377

0

"fc-list" แสดงจริง "Helvetica" หรือไม่ การจับคู่ fc พูดอะไร ในกล่องของฉัน (F-12) ฉันได้รับ:

 >fc-match Helvetica
n019003l.pfb: "Nimbus Sans L" "Regular"

บางทีคุณอาจต้องเพิ่มฟอนต์ aliased ไปที่การทดแทนของคุณเช่นกัน


0

ฉันพบปัญหาที่คล้ายกันเมื่อพยายามนามแฝง Helvetica ในฐานะครอบครัวแสนสวย สำหรับผู้ที่มีปัญหาเดียวกันให้ดูที่การกำหนดค่าระบบ/etc/fonts/conf.d/ซึ่งจะมีลิงก์ไปยังไฟล์/etc/fonts/conf.availต่างๆ ฉันต้องลบนามแฝงเหล่านั้นออกจำนวนมากเพื่อให้ได้พฤติกรรมที่กำหนดขึ้นมา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.