폰꾸font-kku

움직임

글꼴 파일은 글자를 통째로 그려서 글자 안을 나눠 움직이지 못합니다. 폰꾸는 초성·중성·받침을 따로 그리기 때문에 자모 하나하나가 따로 날아오고, 떨어지고, 깜빡입니다. 움직임과 상호작용은 폰꾸가 글자 모양을 고르는 여섯 축 글꼴 · 꾸밈 · 변주 · 움직임 · 상호작용 · 바탕 가운데 두 축이라, 어느 글꼴·꾸밈에든 그대로 얹힙니다.

움직임 animate

CSS만으로 돕니다. 글자가 아니라 자모 노드를 움직이고, 시차는 글자 순번과 초성 → 중성 → 받침 차례로 줍니다. 한 번 도는 움직임은 다시 그리면 다시 돕니다.

자모 조립

animate="assemble"

자소라서 초성·중성·받침이 각자 다른 방향에서 날아와 한 글자로 맞물립니다.

받침 톡

animate="drop"

자소라서 받침만 따로 떨어뜨립니다. 초성·중성은 가만히 있고 받침이 위에서 떨어져 두 번 튀고 자리 잡습니다.

물결

animate="wave"

자소라서 글자 안에서도 초성·중성·받침이 서로 다른 박자로 출렁입니다. 오려 붙인 스티커 조각들이 물 위에 뜬 것처럼 보입니다.

고장 난 네온

animate="flicker"

자소라서 글자 하나가 아니라 단어 둘째 글자 ‘업’의 받침 ㅂ 관 하나만 접촉 불량으로 깜빡입니다.

색 순환

animate="cycle"

자소라서 한 글자 안의 초성·중성·받침이 다른 색입니다. 오방색이 시차를 두고 자모 사이를 돕니다. 색은 --kku-cycle-1~4로 바꿉니다.

금박 반짝

animate="shine"

마스크 칠이라서 그림 자소의 모양만 빌리고 칠은 글자 색입니다. 자모마다 그 색 위로 빛줄기가 지나갑니다.

스크롤 조립

animate="scroll-assemble"

자소라서 화면을 내릴수록 사방에 흩어져 있던 자모가 모여 글자가 됩니다. 스크롤을 올리면 다시 흩어집니다. 방향은 자모마다 받은 씨앗값으로 정합니다.

화면을 위아래로 움직여 보세요

획순 그리기

animate="draw" · jamo-set="sprite-system"

획 단위라서 벡터 자소를 자모보다 한 단계 더 쪼개 획순대로 한 획씩 긋습니다. ㅎ은 꼭지 → 가로 → 동그라미, ㅏ는 세로 → 점입니다. 기기 글꼴에서는 자모가 같은 차례로 나타납니다.

글자 단위 여섯

rise · fade · stagger · bounce · wiggle · drift

확장 없이 런타임에 들어 있는 글자 단위 움직임입니다. 위 움직임들과 같은 animate 속성으로 고릅니다.

상호작용 data-kku-fx

치고, 올리고, 누르면 자모가 반응합니다. 속성만 적으면 저절로 붙고, JS로 쓰려면 FontKkuFx.type(host, [문장들])처럼 부릅니다. 사용자가 움직임 줄이기를 켜면 쉽니다.

두벌식 타자

data-kku-fx="type" · data-kku-phrases

자소라서 글자 하나를 ㅎ → 하 → 한으로 조립하며 칩니다. 지울 때는 거꾸로 풀고, 앞부분이 같으면 남겨 둡니다.

흩어졌다 모이기

data-kku-fx="scatter"

자소라서 마우스를 올리면(휴대폰은 누르면) 자모가 제 역할 쪽으로 흩어지고, 떼면 제자리로 돌아와 다시 조립됩니다.

올려 보거나 눌러 보세요

커서 자석

data-kku-fx="magnet"

자소라서 커서에 가까운 자모만 밀려납니다. 한 글자 안에서도 초성은 비켜서고 받침은 제자리에 남습니다.

글자 위로 커서를 움직여 보세요

씨앗 섞기

FontKkuFx.shuffle(hosts) · 한 줄이면 data-kku-fx="shuffle"

자소라서 자모마다 씨앗값을 받아 손으로 쓴 듯 기웁니다. 같은 씨앗값이면 언제 그려도 같은 모양이라 두 줄이 늘 똑같고, 섞으면 둘이 함께 바뀝니다. 한 줄만 쓸 때는 속성 하나로 누를 때마다 섞입니다.

페이지 CSS 조리법

확장 없이 페이지 CSS 몇 줄로 만드는 꾸밈입니다. 자모는 [part~="jamo"], 획 깊이(stroke-depth="stroke")의 획은 [part="hoek"]와 획 종류·역할 속성으로 고릅니다.

제자원리 보기

페이지 CSS · stroke-depth="stroke"

획 단위라서 획마다 어디서 왔는지(data-hoek-role)가 붙습니다. 자음은 기본자에 가획을 더하고(ㄱ → ㅋ, ㄴ → ㄷ → ㅌ, ㅅ → ㅈ → ㅊ, ㅇ → ㅎ), ㄹ은 이체입니다. 모음은 천(·)·지(ㅡ)·인(ㅣ)입니다.

직접 만들기

자모를 고르는 선택자 셋

확장에 없는 움직임은 페이지 CSS 몇 줄입니다. 자모는 [part~="jamo"], 역할은 choseong·jungseong·jongseong로 고르고, 글자 순번 --fy-glyph-index와 자모 씨앗값 --fy-jamo-seed로 시차와 변주를 줍니다. 자모 자리는 코어가 transform으로 잡으므로 움직임은 translate·rotate·scale로 줍니다. 조상에 data-kku-paused를 두면 확장의 움직임과 상호작용이 그 자리에 섭니다.