ImageMagick으로 88x31 버튼에 책 담기

1 hour ago 1

88x31 픽셀 애니메이션 GIF에 책의 텍스트를 여러 프레임으로 나눠 담아, 작은 웹 버튼에서 《Moby Dick》을 읽을 수 있게 만듦 초소형 글꼴 TomThumb을 사용하면 버튼 하나에 22자씩 5줄을 넣을 수 있어, 일반 글꼴보다 좁은 공간을 활용하기 좋음 POSIX 도구 cat, tr, fold로 본문을 22자 너비로 정리한 뒤, ImageMagick으로 텍스트를 프레임별 이미지로 변환함 ImageMagick이 넣는 하단 여백을 처리하기 위해 88x39로 생성한 뒤 88x31로 자르고, 프레임 간격은 제작자가 읽기 적당하다고 느낀 6초로 설정함 첫 장만 담은 예제 외에 책 전체를 담은 GIF도 공개했으며, 파일 크기는 4.2MB이고 재생 시간은 19시간이 넘음 88x31 버튼에 책을 넣는 발상 Small Web 등에서 쓰이는 88x31 버튼은 정적 이미지뿐 아니라 애니메이션으로도 만들 수 있음 다양한 버튼 사례의 애니메이션은 주로 시선을 끌거나 단어 몇 개를 순서대로 표시하는 데 쓰이지만, 여기서는 《Moby Dick》 전체를 표시하는 용도로 확장함 GIF의 프레임 수에는 제한이 없는 것으로 보이며, 최대 해상도는 2^16 × 2^16, 약 4,295메가픽셀임 실제 사용할 공간은 88x31 픽셀, 약 0.003메가픽셀에 불과함 Arial은 높이가 최소 10픽셀 정도 되어야 읽을 만해 보이며, 이 크기로는 한 번에 약 11단어를 표시할 수 있음 초소형 글꼴과 원문 준비 아주 작은 크기에서도 읽을 수 있도록 설계한 글꼴 중에는 3x3 크기도 있지만, 이번 제작에서는 TomThumb을 절충안으로 선택함 TomThumb TrueType 파일을 내려받을 수 있음 책은 일반 텍스트로 준비해야 하며, 확보한 형식에 따라 방법이 달라짐 종이책은 OCR로 텍스트를 추출할 수 있음 EPUB/PDF는 변환하거나 텍스트를 직접 복사할 수 있음 《Moby Dick》처럼 이미 .txt 형식으로 배포되는 책도 있음 이번 작업에서는 내려받은 파일의 앞뒤 라이선스 문구와 첫 장 이전의 내용을 제거함 POSIX 도구로 22자 너비 맞추기 TomThumb은 간격을 포함해 세로 6픽셀, 가로 4픽셀을 차지하므로, 88x31 버튼에 22자씩 5줄을 넣을 수 있음 ImageMagick의 텍스트 배치 기능이 충분하지 않아 cat, tr, fold로 줄바꿈을 먼저 처리함 cat input.txt | tr '\n' ' ' | tr -d '\r' ...

Read Entire Article