Collabora CODE Docker에서 사용자 지정 글꼴을 사용할 수 있도록 설정

Docker에서 실행되는 Collabora Online CODE에서 사용자 지정 글꼴이 제대로 표시되도록 하려면 글꼴 파일을 호스트에 두고 동일한 디렉터리를 컨테이너의 시스템 글꼴 디렉터리와 문서 시스템플레이트에 모두 마운트해야 합니다. 시스템플레이트는 격리된 문서 프로세스에 파일을 제공합니다. 글꼴을 시스템플레이트에만 마운트하면 /usr/share/fonts글꼴 메뉴에는 나타나지만 문서에는 표시되지 않을 수 있습니다. 이 가이드에서는 Docker Compose와 최신 CODE 이미지 경로를 사용합니다 /opt/cool/systemplate. 다른 이미지 경로를 사용하는 경우 경로를 확인하십시오.

파일 관리자가 collabora-fonts 폴더를 열고 그 안에 일반 및 굵은 TTF 파일이 들어 있는 것을 보여줍니다.
라이선스가 있는 글꼴 파일은 Docker가 읽을 수 있는 호스트 디렉터리에 함께 보관하십시오.

관리할 수 있는 글꼴 소스를 선택하세요.

일반적으로 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 프로세스가 권한이 없는 계정으로 실행되므로 읽기 권한이 중요합니다. 디렉터리 경로를 고정해 두세요. Compose 바인드 마운트가 해당 경로를 참조합니다.

호스트 글꼴 트리와 시스템플레이트 모두에 글꼴을 마운트합니다.

기존 collabora서비스 에 docker-compose.yml다음 볼륨 항목을 추가하세요. 기존 이미지, 포트, 도메인 허용 목록, SSL 설정, 비밀 키 및 재시작 정책은 그대로 유지하세요. 아래 코드 조각은 글꼴 마운트만 보여줍니다.

Docker Compose YAML 코드 조각은 호스트의 글꼴 폴더 하나를 시스템 글꼴 및 시스템플레이트 글꼴 디렉터리에 읽기 전용으로 마운트합니다.
기존 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

첫 번째 목표는 컨테이너의 일반적인 글꼴 검색에서 글꼴을 사용할 수 있도록 합니다. 두 번째 목표는 격리된 문서 환경을 준비하는 데 사용되는 템플릿 내부에 글꼴을 배치합니다. Collabora SDK 설명서에는 Docker에서 이 두 위치 볼륨 패턴에 대한 설명이 있습니다. 전체 /usr/share/fonts또는 systemplate 디렉터리를 덮어쓰지 마십시오. 이미지에 이미 제공된 글꼴이 가려질 수 있습니다.

시스템 템플릿 경로는 버전에 따라 다릅니다. 현재 CODE 26.04 이미지 메타데이터는 /opt/cool/systemplate시스템 템플릿 경로를 해당 위치로 지정하고 있으며, Collabora의 최신 문서에서도 이 위치를 사용합니다. 이전 버전 이미지 또는 특정 공급업체 빌드를 사용하는 경우, 대상 경로를 수정하기 전에 해당 이미지의 문서 또는 시작 구성을 확인하십시오.

컨테이너를 다시 생성하고 글꼴 검색이 완료되었는지 확인하십시오.

Compose 파일을 저장하고 호스트에 글꼴 파일을 배치한 후, Docker가 바인드 마운트를 적용하도록 CODE 서비스를 다시 생성하십시오.

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실행 중인 컨테이너에서 `check_mount` 명령어를 사용하여 실제 마운트 상태를 검사하거나, `check_mount` 명령어를 사용하여 docker compose configYAML 들여쓰기 오류를 확인할 수 있습니다. docker compose down일반적으로 볼륨 변경을 적용하기 위해 `check_mount` 명령어를 실행할 필요는 없으며, 서비스를 다시 생성하는 것으로 충분합니다.

글꼴이 실제 문서 내에서 제대로 표시되는지 확인하십시오.

Collabora Online에서 툴바에서 사용자 지정 글꼴 모음을 선택하고 문서 페이지에 샘플 텍스트를 표시한 모습입니다.
문서를 다시 연 후 글꼴 선택기와 문서에 표시된 텍스트를 모두 확인하십시오.

Nextcloud 또는 WOPI 통합을 통해 테스트 문서를 열고, 짧은 텍스트 샘플을 선택한 다음 글꼴 선택기에서 사용자 지정 글꼴 패밀리를 선택합니다. 해당 글꼴로 새 줄을 입력하고 저장한 후 파일을 닫고 다시 엽니다. 일반 텍스트와 굵은 텍스트를 확인하고, 줄 바꿈이나 페이지 레이아웃이 원본 문서와 어떻게 다른지 비교합니다. 메뉴에 글꼴 패밀리가 나타나는 것은 단순히 검색 확인일 뿐이며, 파일을 다시 열었을 때 텍스트가 제대로 표시되는 것이 실제 렌더링을 확인하는 방법입니다.

  • 메뉴에 글꼴은 나타나지만 텍스트가 사라지거나 제대로 표시되지 않는 경우: 두 번째 마운트가 systemplate 글꼴 디렉터리를 대상으로 하고 해당 디렉터리에 동일한 파일이 포함되어 있는지 확인하십시오.
  • 메뉴에서 글꼴이 누락되었습니다. 파일이 유효하고 읽을 수 있는지 확인한 다음 fc-list출력 및 컨테이너 시작 로그를 검사하십시오.
  • 이미지 업데이트 전까지 글꼴이 정상적으로 작동합니다. Compose에서 마운트된 디렉터리가 모두 유지되고 호스트 디렉터리가 임시 컨테이너 경로 내에 있지 않은지 확인하십시오.
  • 일부 문자만 표시됩니다. 선택한 글꼴에 해당 문자가 포함되어 있지 않을 수 있습니다. 필요한 문자를 지원하는 글꼴을 추가하거나 적절한 대체 글꼴을 사용하십시오.

바인드 마운트를 사용하면 글꼴을 CODE 이미지와 독립적으로 유지할 수 있지만, 모든 클라이언트 또는 모든 문서에서 동일한 레이아웃을 보장하지는 않습니다. 글꼴 대체, 누락된 글리프, 다른 글꼴 버전 및 문서별 서식으로 인해 줄 바꿈이 변경될 수 있습니다. 추가 구성 정보는 Collabora의 글꼴 설치 문서 , CODE Docker 이미지 가이드 및 Collabora 온라인 SDK 설명서를 참조하십시오 . CODE 버전을 변경할 때는 설명서의 Docker 예제와 최신 이미지 문서를 다시 확인해야 합니다.

댓글 남기기

Seafile과 Collabora를 올바른 WOPI URL로 연결하세요

Seafile과 Collabora를 올바른 WOPI URL로 연결하세요

Seafile에서 안전한 문서 편집을 활성화하려면 Collabora의 검색 URL, HTTPS 및 WOPI 액세스를 배포 환경에 맞게 구성하십시오.

Collabora와 데스크톱 앱 간 복사 및 붙여넣기 기능 복원

Collabora와 데스크톱 앱 간 복사 및 붙여넣기 기능 복원

시스템 클립보드를 테스트하고, 브라우저 권한을 조정하고, 내장된 Collabora 통합에 iframe 정책 변경이 필요한 시점을 파악합니다.

Collabora CODE Docker에서 사용자 지정 글꼴을 사용할 수 있도록 설정

Collabora CODE Docker에서 사용자 지정 글꼴을 사용할 수 있도록 설정

글꼴 파일을 Docker 및 Collabora의 시스템플레이트에 마운트하여 사용자 지정 글꼴이 편집기에 표시되고 문서에서 올바르게 렌더링되도록 합니다.

배포 변경 사항을 손실하지 않고 Collabora CODE 설정을 복원하는 방법

배포 변경 사항을 손실하지 않고 Collabora CODE 설정을 복원하는 방법

coolwsd.xml 파일과 배포 소스를 백업하고 안전하게 복원한 다음, 사용자가 편집을 재개하기 전에 코드를 검증하십시오.

CODE의 WOPI 호스트 검사 오류를 수정하려면 호스트 출처를 일치시키세요.

CODE의 WOPI 호스트 검사 오류를 수정하려면 호스트 출처를 일치시키세요.

CODE에서 정확한 Nextcloud 또는 기타 WOPI 출처를 허용한 다음 활성 호스트 허용 목록을 확인하고 Nextcloud의 소스 IP 제한과 구분하십시오.

Collabora의 "이건 정말 난감한 상황이네요" 오류 해결하기

Collabora의 "이건 정말 난감한 상황이네요" 오류 해결하기

Collabora의 브라우저, WOPI 및 WebSocket 연결을 추적하여 문서가 열리지 않는 이유를 찾은 다음 Nextcloud 설정에 맞는 해결 방법을 적용하십시오.

Kubernetes 노드에서 Collabora를 온라인으로 실행하세요

Kubernetes 노드에서 Collabora를 온라인으로 실행하세요

Helm을 사용하여 Collabora CODE 복제본을 배포하고, WOPI 어피니티를 통해 각 문서를 하나의 Pod에 유지하며, 인그레스, 노드 배치 및 Nextcloud 편집을 검증합니다.

프록시를 통해 Collabora의 WebSocket 연결을 복원합니다.

프록시를 통해 Collabora의 WebSocket 연결을 복원합니다.

브라우저에서 coolwsd로의 소켓 핸드셰이크 실패를 추적한 다음, 역방향 프록시 경로를 Collabora 버전(CODE 26.04 Apache 변경 사항 포함)과 일치시키십시오.

키, 검색 및 URL을 확인하여 WOPI 증명 오류를 수정하세요.

키, 검색 및 URL을 확인하여 WOPI 증명 오류를 수정하세요.

Collabora WOPI 증명 실패 원인을 키 불일치, 오래된 검색 데이터, 시간 오차 또는 프록시 URL 변경으로 추적할 수 있으며, 이 과정에서 유효성 검사를 약화시키지 않습니다.

Collabora 온라인 글꼴 크기 드롭다운 메뉴의 잘못된 렌더링 문제를 해결하세요

Collabora 온라인 글꼴 크기 드롭다운 메뉴의 잘못된 렌더링 문제를 해결하세요

브라우저 확대/축소 설정을 초기화하고, 깨끗한 세션을 테스트하고, 잘못된 크기 메뉴에 Collabora 서버 업데이트가 필요한 시점을 파악합니다.