TL;DR
- TeXmacs Vue는 GNU TeXmacs 2.1.5를 웹 페이지에서 실행하는 실험적 포트로, 설치가 필요 없고 다운로드하지 않는 한 데이터가 브라우저 밖으로 나가지 않음.
- WebAssembly, Vue 인터페이스, S7 Scheme, OpenType 글꼴과 수학 글꼴을 사용하며 편집·조판·인쇄·클립보드·Scheme 세션·원격 메뉴 기능을 제공함.
- 플러그인이 프로그램을 실행하는 기능, 다른 머신의 TeXmacs 서버를 위한 wss, 대화상자 크기 조정은 아직 지원되지 않으며 Firefox와 Safari에서 테스트됨.
- 첫 방문에는 프로그램과 부팅에 필요한 파일 등 약 11MB를 불러오고 나머지는 백그라운드에서 받으며, 두 번째 방문에는 아무것도 불러오지 않음.
- 데스크톱용 Vue 그래픽 백엔드는 위젯 툴킷에 의존하지 않으며, 레이아웃에
Clay, 창·입력·클립보드에SDL3, 픽셀 처리에MuPDF를 사용함.
브라우저에서 실행하는 GNU TeXmacs
- 체험하기에서 wip_wasm_vue 브랜치의 GNU TeXmacs 2.1.5 실험적 포트를 웹 페이지에서 실행할 수 있음. 설치 과정은 없으며, 파일을 다운로드하지 않는 한 데이터가 브라우저 밖으로 나가지 않음.
- 기본 TeXmacs를 WebAssembly로 컴파일하고, TeXmacs의 새 인터페이스인 Vue를 사용함. 인터페이스는 아래에서 설명하는
Clay,SDL3,MuPDF를 활용하며, Guile 대신 S7 Scheme을 사용하고 수학 글꼴을 포함한 OpenType 글꼴을 제공함. - 작동하는 기능은 다음과 같음.
- 편집과 조판
- 웹 페이지 안에 그려지는 메뉴와 대화상자
- 문서별 탭
- 브라우저에 보관되는 파일: 업로드, 드래그 앤 드롭, ZIP 프로젝트, 다운로드
- 인쇄: PDF가 브라우저 탭에서 열림
- 시스템 클립보드
- Scheme 세션
- WebSocket을 통한 TeXmacs 서버 연결을 지원하는 Remote 메뉴
- 아직 지원되지 않는 기능은 프로그램을 실행하는 플러그인임. 웹 페이지에서는 프로세스를 실행할 수 없음. 다른 머신의 TeXmacs 서버를 위한
wss와 대화상자 크기 조정도 아직 지원되지 않음. - Firefox와 Safari에서 테스트됨.
- 공식 TeXmacs 배포판에서는 발생하지 않는 이 포트 고유의 문제는 TeXmacs 프로젝트가 아니라 이 저장소의 이슈 페이지에 보고해야 함. 그 밖의 문제는 기존 방식대로 TeXmacs에 보고하면 됨.
- 첫 방문 시 프로그램과 부팅에 필요한 파일 등 약 11MB를 불러오며, 나머지 파일은 백그라운드에서 불러옴. 두 번째 방문에는 아무것도 불러오지 않음.
- CI는 vue_ci 브랜치에서만 실행됨. 작업은 CI를 실행하지 않는 wip_wasm_vue 브랜치에서 진행되며,
git push origin wip_wasm_vue:vue_ci로 상태를 빌드·테스트·게시함. 각 실행 결과는 texmacs-wasm-web 아티팩트로도 보관됨. - 빌드 방법은
src/README.md를 참고하고, 설계 관련 메모와 계획은src/docs/wasm/에 있음.
Vue 인터페이스(데스크톱), wip_vue 브랜치
- 위젯 툴킷에 의존하지 않는 GNU TeXmacs용 그래픽 백엔드가 개발 중임.
- Vue 플러그인이 편집기, 바, 메뉴, 대화상자, 도구를 직접 그리며 세 라이브러리를 사용함.
Clay: 레이아웃SDL3: 창, 입력, 클립보드MuPDF: 픽셀 처리- 플러그인과 관련 문서를 제외한 나머지는 기본 TeXmacs임. 다만 GUI가 Qt도 X11도 아니라는 점을 반영해야 했던 일부 부분은 예외임.
- 코드 위치:
src/src/Plugins/Vue/이며, TODO와 테스트는tests/에 있음. - 개발자 문서는
src/docs/에 있으며 그래픽 스택, 위젯, 테스트 하네스, TeXmacs 코어와 GUI 플러그인의 통신 방식, 빌드와 디버깅 방법을 다룸. src/에서./configure --with-gui=vue --with-sdl3 --with-mupdf=<prefix>를 실행해 빌드함.
이 저장소
- 저장소 구조는 미러링 대상인 TeXmacs SVN trunk의 구조를 따름.
src/: 편집기 소스, Scheme, 스타일, 문서, 패키징을 포함하며, 이 프로젝트의 README는src/README.md임.misc/: 빌드 스크립트, 플러그인 및 기타 자료.web/: 웹사이트 소스.guile-texmacs/: 함께 포함된 Guile 1.8.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요