ทำให้สามารถใช้ฟอนต์แบบกำหนดเองได้ใน Collabora CODE Docker

เพื่อให้แสดงผลฟอนต์แบบกำหนดเองใน Collabora Online CODE ที่ทำงานใน Docker ให้เก็บไฟล์ฟอนต์ไว้บนเครื่องโฮสต์ และทำการเมานต์ไดเร็กทอรีเดียวกันนั้นเข้าไปในทั้งไดเร็กทอรีฟอนต์ของระบบในคอนเทนเนอร์และ systemplate ของเอกสาร systemplate จะจัดหาไฟล์ให้กับกระบวนการเอกสารที่แยกต่างหาก การเมานต์ฟอนต์เข้าไปเฉพาะใน systemplate เท่านั้น/usr/share/fontsจะทำให้ตระกูลฟอนต์ปรากฏในเมนูฟอนต์ได้โดยไม่ต้องแสดงผลในเอกสาร คู่มือนี้ใช้ Docker Compose และเส้นทางอิมเมจ CODE ปัจจุบัน/opt/cool/systemplateโปรดตรวจสอบเส้นทางหากคุณใช้ image line อื่น

โปรแกรมจัดการไฟล์ที่เปิดโฟลเดอร์ collabora-fonts ซึ่งประกอบด้วยไฟล์ TTF แบบปกติและแบบตัวหนา
เก็บไฟล์ฟอนต์ที่ได้รับอนุญาตไว้ด้วยกันในไดเร็กทอรีโฮสต์ที่ Docker สามารถอ่านได้

เลือกแหล่งฟอนต์ที่คุณสามารถดูแลรักษาได้

การเมานต์แบบอ่านอย่างเดียว (read-only bind mount) มักเป็นตัวเลือกที่ง่ายที่สุดสำหรับโฮสต์ Docker เพียงเครื่องเดียว วิธีนี้จะช่วยรักษาไฟล์ฟอนต์ไว้เมื่อคอนเทนเนอร์ CODE ถูกสร้างขึ้นใหม่หรืออัปเกรด และคุณสามารถตรวจสอบได้อย่างแม่นยำว่าคอนเทนเนอร์สามารถอ่านไฟล์ใดได้บ้าง ควรใช้ไฟล์ฟอนต์ที่คุณได้รับอนุญาตให้ติดตั้งและแจกจ่ายไปยังเซิร์ฟเวอร์ อย่าคัดลอกไดเร็กทอรีฟอนต์ของระบบเดสก์ท็อปทั้งหมด เว้นแต่คุณได้ตรวจสอบใบอนุญาตแล้วและจำเป็นต้องใช้ไฟล์เหล่านั้น

ใช้ไฟล์ฟอนต์ที่ไม่บีบอัดในรูปแบบที่สภาพแวดล้อมของคุณรองรับ โดยทั่วไปคือ TrueType ( .ttf) หรือ OpenType ( .otf) รวมสไตล์ที่เอกสารของคุณต้องการ เช่น ปกติ ตัวหนา ตัวเอียง และตัวหนาเอียง ตั้งชื่อตระกูลฟอนต์และชื่อไฟล์ให้ชัดเจน และตรวจสอบให้แน่ใจว่าผู้ใช้ที่ดูแลคอนเทนเนอร์สามารถอ่านทุกไดเร็กทอรีและไฟล์ได้ ฟอนต์ที่มีเพียงสไตล์เดียวอาจทำให้ Collabora แทนที่ด้วยฟอนต์อื่นเมื่อเอกสารต้องการตัวหนาหรือตัวเอียง

ขั้นแรก ให้สร้างไดเร็กทอรีโฮสต์เฉพาะ แล้วคัดลอกไฟล์ที่ได้รับอนุญาตเข้าไปในไดเร็กทอรีนั้น:

sudo mkdir -p /srv/collabora/fonts
sudo cp BrandSans-Regular.ttf BrandSans-Bold.ttf /srv/collabora/fonts/
sudo chmod -R a+rX /srv/collabora/fonts

แทนที่ชื่อไฟล์ตัวอย่างด้วยไฟล์ฟอนต์จริงของคุณ สิทธิ์ในการอ่านมีความสำคัญเนื่องจากกระบวนการ CODE ทำงานโดยใช้บัญชีที่ไม่ได้รับสิทธิ์พิเศษในอิมเมจปัจจุบัน รักษาเส้นทางไดเร็กทอรีให้คงที่ เนื่องจาก bind mount ของ Compose จะอ้างอิงถึงเส้นทางนั้น

ติดตั้งฟอนต์ลงในทั้งโครงสร้างฟอนต์ของโฮสต์และแผ่นระบบ

ในcollaboraบริการ ที่มีอยู่ของคุณ docker-compose.ymlให้เพิ่มรายการวอลุ่มเหล่านี้ลงไป รักษาอิมเมจ พอร์ต รายชื่อโดเมนที่อนุญาต การตั้งค่า SSL ข้อมูลลับ และนโยบายการรีสตาร์ทที่มีอยู่ของคุณไว้ ตัวอย่างด้านล่างแสดงเฉพาะการเชื่อมต่อฟอนต์เท่านั้น

โค้ด YAML จาก Docker Compose ที่ใช้ในการเชื่อมต่อโฟลเดอร์ฟอนต์ของโฮสต์แบบอ่านอย่างเดียว เข้าไปในไดเร็กทอรีฟอนต์ของระบบและไดเร็กทอรีฟอนต์ของเทมเพลตระบบ
เพิ่มการเชื่อมต่อแบบอ่านอย่างเดียวทั้งสองรายการไว้ในส่วนวอลุ่มของบริการ CODE ที่มีอยู่แล้ว
services:
  collabora:
    volumes:
      - /srv/collabora/fonts:/usr/share/fonts/truetype/more:ro
      - /srv/collabora/fonts:/opt/cool/systemplate/usr/share/fonts/truetype/more:ro

เป้าหมายแรกทำให้ฟอนต์พร้อมใช้งานสำหรับการค้นหาฟอนต์ปกติของคอนเทนเนอร์ เป้าหมายที่สองจะวางฟอนต์เหล่านั้นไว้ภายในเทมเพลตที่ใช้ในการเตรียมสภาพแวดล้อมเอกสารแบบแยกส่วน คู่มือ SDK ของ Collabora ได้บันทึกรูปแบบวอลุ่มสองตำแหน่งนี้สำหรับ Docker ไว้แล้ว ห้ามทำการเมานต์ทับไดเร็กทอรีทั้งหมด/usr/share/fontsหรือไดเร็กทอรี systemplate เพราะอาจซ่อนฟอนต์ที่จัดเตรียมไว้แล้วในอิมเมจได้

เส้นทางของเทมเพลตระบบนั้นขึ้นอยู่กับเวอร์ชัน ข้อมูลเมตาของอิมเมจ CODE 26.04 ปัจจุบันระบุ/opt/cool/systemplateเส้นทางเทมเพลตระบบไว้ที่ตำแหน่งนั้น และเอกสารปัจจุบันของ Collabora ก็ใช้ตำแหน่งนั้น หากคุณใช้อิมเมจเวอร์ชันเก่ากว่าหรือเวอร์ชันเฉพาะของผู้จำหน่าย โปรดตรวจสอบเอกสารหรือการกำหนดค่าเริ่มต้นของอิมเมจนั้นก่อนที่จะแก้ไขเส้นทางเป้าหมาย

สร้างคอนเทนเนอร์ขึ้นใหม่และยืนยันการค้นหาฟอนต์

หลังจากบันทึกไฟล์ Compose และวางไฟล์ฟอนต์ไว้บนโฮสต์แล้ว ให้สร้างบริการ CODE ขึ้นใหม่เพื่อให้ Docker ใช้การเชื่อมต่อแบบ bind mount:

หน้าต่างเทอร์มินัลแสดงภาพ Docker Compose กำลังสร้างบริการ Collabora ขึ้นใหม่ และเรียกใช้คำสั่ง fc-list เพื่อตรวจสอบฟอนต์ที่มีอยู่
สร้างบริการขึ้นใหม่ จากนั้นใช้คำสั่ง fc-list เพื่อตรวจสอบว่า Fontconfig ตรวจพบตระกูลฟอนต์หรือไม่
docker compose up -d --force-recreate collabora
docker compose exec -T collabora fc-list

ในผลลัพธ์ ให้มองหาชื่อตระกูลฟอนต์หรือพาธไฟล์ที่ติดตั้งไว้ หากต้องการจำกัดรายการให้แคบลง ให้ส่งผลลัพธ์ผ่านไปgrepยังชื่อตระกูลที่ฟอนต์รายงานไว้ ตัวอย่างเช่น:

docker compose exec -T collabora fc-list | grep -i "Brand Sans"

หากคำสั่งรายงานว่าไม่พบการจับคู่ ให้ตรวจสอบพาธโฮสต์ สิทธิ์การเข้าถึงไฟล์ การเยื้องการเมานต์ และบันทึกของคอนเทนเนอร์ คุณสามารถตรวจสอบการเมานต์ที่มีผลในdocker inspectคอนเทนเนอร์ที่กำลังทำงานอยู่ หรือใช้docker compose configเพื่อตรวจจับข้อผิดพลาดในการเยื้อง YAML docker compose downโดยปกติแล้วไม่จำเป็นต้องเรียกใช้คำสั่งเพื่อใช้การเปลี่ยนแปลงวอลุ่ม การสร้างบริการใหม่ก็เพียงพอแล้ว

ตรวจสอบว่าแบบอักษรแสดงผลได้อย่างถูกต้องในเอกสารจริง

โปรแกรม Collabora Online แสดงผลโดยใช้ตระกูลฟอนต์ที่กำหนดเองซึ่งเลือกไว้ในแถบเครื่องมือ และมีข้อความตัวอย่างปรากฏบนหน้าเอกสาร
ตรวจสอบทั้งตัวเลือกแบบอักษรและข้อความที่แสดงในเอกสารหลังจากเปิดเอกสารอีกครั้ง

เปิดเอกสารทดสอบผ่านการผสานรวม Nextcloud หรือ WOPI ตามปกติ เลือกข้อความตัวอย่างสั้นๆ และเลือกตระกูลฟอนต์แบบกำหนดเองจากตัวเลือกฟอนต์ พิมพ์บรรทัดใหม่ด้วยฟอนต์นั้น บันทึก ปิด และเปิดไฟล์อีกครั้ง ตรวจสอบข้อความปกติและตัวหนา และเปรียบเทียบการขึ้นบรรทัดใหม่หรือเค้าโครงหน้ากับเอกสารต้นฉบับ การที่ตระกูลฟอนต์ปรากฏในเมนูเป็นการตรวจสอบเบื้องต้นเท่านั้น ข้อความที่ปรากฏหลังจากเปิดไฟล์อีกครั้งคือการตรวจสอบการแสดงผลที่มีประโยชน์

  • ฟอนต์ปรากฏในเมนู แต่ข้อความหายไปหรือแสดงผลผิดเพี้ยน:ตรวจสอบให้แน่ใจว่าการเมานต์ครั้งที่สองกำหนดเป้าหมายไปยังไดเร็กทอรีฟอนต์ของแผ่นระบบ และมีไฟล์เดียวกันอยู่ภายใน
  • ไม่พบฟอนต์ในเมนู:โปรดตรวจสอบว่าไฟล์ถูกต้องและอ่านได้ จากนั้นตรวจสอบfc-listผลลัพธ์และบันทึกการเริ่มต้นคอนเทนเนอร์
  • ฟอนต์จะใช้งานได้จนกว่าจะมีการอัปเดตภาพ:ตรวจสอบให้แน่ใจว่าทั้งสองการเชื่อมต่อยังคงอยู่ใน Compose และไดเร็กทอรีโฮสต์ของคุณไม่ได้อยู่ภายในเส้นทางคอนเทนเนอร์ชั่วคราว
  • แสดงผลเพียงบางตัวอักษรเท่านั้น:ฟอนต์ที่เลือกอาจไม่มีตัวอักษรเหล่านั้น โปรดเพิ่มฟอนต์ที่มีตัวอักษรที่ต้องการ หรือใช้ฟอนต์สำรองที่เหมาะสม

การผูกการเชื่อมต่อ (bind mount) ช่วยให้ฟอนต์เป็นอิสระจากอิมเมจ CODE แต่ไม่รับประกันว่าเค้าโครงจะเหมือนกันในทุกไคลเอ็นต์หรือในทุกเอกสาร การแทนที่ฟอนต์ ตัวอักษรที่หายไป เวอร์ชันฟอนต์ที่แตกต่างกัน และการจัดรูปแบบเฉพาะเอกสารยังคงสามารถเปลี่ยนแปลงการขึ้นบรรทัดใหม่ได้ สำหรับรายละเอียดการกำหนดค่าเพิ่มเติม โปรดดูเอกสารการติดตั้งฟอนต์ ของ Collabora คู่มืออิมเมจ Dockerของ CODE และคู่มือ Collabora Online SDKควรตรวจสอบตัวอย่าง Docker ในคู่มือและเอกสารประกอบอิมเมจปัจจุบันอีกครั้งเมื่อคุณเปลี่ยนเวอร์ชัน CODE

ฝากความเห็น

กู้คืนฟังก์ชันคัดลอกและวางระหว่าง Collabora และแอปพลิเคชันบนเดสก์ท็อป

กู้คืนฟังก์ชันคัดลอกและวางระหว่าง Collabora และแอปพลิเคชันบนเดสก์ท็อป

ทดสอบคลิปบอร์ดของระบบ ปรับสิทธิ์การเข้าถึงของเบราว์เซอร์ และระบุว่าเมื่อใดที่การผสานรวม Collabora ที่ฝังอยู่จำเป็นต้องมีการเปลี่ยนแปลงนโยบาย iframe

ทำให้สามารถใช้ฟอนต์แบบกำหนดเองได้ใน Collabora CODE Docker

ทำให้สามารถใช้ฟอนต์แบบกำหนดเองได้ใน Collabora CODE Docker

ติดตั้งไฟล์ฟอนต์ลงใน Docker และ systemplate ของ Collabora เพื่อให้แบบอักษรที่กำหนดเองปรากฏในโปรแกรมแก้ไขและแสดงผลได้อย่างถูกต้องในเอกสาร

กู้คืนการตั้งค่า Collabora CODE โดยไม่สูญเสียการเปลี่ยนแปลงการปรับใช้

กู้คืนการตั้งค่า Collabora CODE โดยไม่สูญเสียการเปลี่ยนแปลงการปรับใช้

สำรองข้อมูล coolwsd.xml และซอร์สโค้ดสำหรับการปรับใช้ กู้คืนอย่างปลอดภัย และตรวจสอบโค้ดก่อนที่ผู้ใช้จะกลับมาแก้ไขอีกครั้ง

แก้ไขการตรวจสอบโฮสต์ WOPI ของ CODE โดยการจับคู่ต้นทางของโฮสต์

แก้ไขการตรวจสอบโฮสต์ WOPI ของ CODE โดยการจับคู่ต้นทางของโฮสต์

อนุญาตให้ใช้ Nextcloud หรือ WOPI ต้นทางที่ถูกต้องในโค้ด จากนั้นตรวจสอบรายการอนุญาตโฮสต์ที่ใช้งานอยู่ และแยกแยะความแตกต่างจากข้อจำกัด IP ต้นทางของ Nextcloud

แก้ไขข้อผิดพลาด “นี่มันน่าอายจัง” ของ Collabora

แก้ไขข้อผิดพลาด “นี่มันน่าอายจัง” ของ Collabora

ตรวจสอบการเชื่อมต่อเบราว์เซอร์, WOPI และ WebSocket ของ Collabora เพื่อหาสาเหตุที่เอกสารเปิดไม่ได้ จากนั้นใช้การแก้ไขที่ตรงกับการตั้งค่า Nextcloud ของคุณ

เรียกใช้งาน Collabora Online บนโหนด Kubernetes

เรียกใช้งาน Collabora Online บนโหนด Kubernetes

ติดตั้ง Collabora CODE replicas ด้วย Helm เก็บเอกสารแต่ละฉบับไว้ใน pod เดียวผ่าน WOPI affinity และตรวจสอบ ingress การจัดวางโหนด และการแก้ไขใน Nextcloud

กู้คืนการเชื่อมต่อ WebSocket ของ Collabora ผ่านพร็อกซี

กู้คืนการเชื่อมต่อ WebSocket ของ Collabora ผ่านพร็อกซี

ตรวจสอบการเชื่อมต่อซ็อกเก็ตที่ล้มเหลวจากเบราว์เซอร์ไปยัง coolwsd จากนั้นจับคู่เส้นทางพร็อกซีแบบย้อนกลับกับเวอร์ชัน Collabora ของคุณ รวมถึงการเปลี่ยนแปลง Apache ใน CODE 26.04 ด้วย

แก้ไขข้อผิดพลาดการตรวจสอบ WOPI โดยตรวจสอบคีย์ การค้นหา และ URL

แก้ไขข้อผิดพลาดการตรวจสอบ WOPI โดยตรวจสอบคีย์ การค้นหา และ URL

ตรวจสอบหาสาเหตุของความล้มเหลวในการตรวจสอบความถูกต้องของ Collabora WOPI ที่เกิดจากคีย์ไม่ตรงกัน ข้อมูลการค้นหาที่ล้าสมัย การคลาดเคลื่อนของเวลา หรือการเปลี่ยนแปลง URL พร็อกซี โดยไม่ลดทอนประสิทธิภาพการตรวจสอบความถูกต้อง

แก้ไขปัญหาการแสดงผลผิดพลาดของเมนูเลือกขนาดตัวอักษรใน Collabora Online

แก้ไขปัญหาการแสดงผลผิดพลาดของเมนูเลือกขนาดตัวอักษรใน Collabora Online

รีเซ็ตการซูมของเบราว์เซอร์ ทดสอบเซสชันใหม่ และระบุว่าเมื่อใดที่เมนูที่มีขนาดผิดปกติจำเป็นต้องได้รับการอัปเดตเซิร์ฟเวอร์ Collabora

เชื่อมต่อ Nextcloud กับคอนเทนเนอร์ Collabora CODE ที่ติดตั้งเอง

เชื่อมต่อ Nextcloud กับคอนเทนเนอร์ Collabora CODE ที่ติดตั้งเอง

ติดตั้งใช้งาน Collabora CODE ด้วย Docker เชื่อมต่ออย่างปลอดภัยกับ Nextcloud Office และตรวจสอบความถูกต้องของการแก้ไขเอกสารด้วยการตรวจสอบ WOPI และพร็อกซีที่ใช้งานได้จริง