arabic-motion-typography
Animates Arabic text correctly and beautifully in Remotion, HTML/CSS/GSAP and After Effects-style workflows. Covers right-to-left layout, word-level (never letter-level) animation, Arabic fonts, mixed Arabic/English, digits, diacritics clipping, and kinetic typography synced to speech. Use when making Arabic titles, kinetic text, lower thirds, animated captions or any motion graphic with Arabic text, or when Arabic letters appear disconnected, reversed, or cut off in an animation.
Target: Design & content creation. Automatically collected · unverified.
Excerpt from the author’s documentation
Extracted from a fixed version of SKILL.md in its original language. This is the author’s documentation; installation, compatibility and runtime results have not been verified by this site.
Read the original English text
Topics in the source
- Arabic Motion Typography
- 1. Hard rules (break these and the text breaks)
- 2. Fonts that animate well
- 3. Remotion recipe: word-by-word reveal, RTL
- Mask reveal from the right (RTL wipe)
- Speech-synced (karaoke) highlight
- 4. HTML / GSAP
- 5. Direction of motion
Most motion tools and tutorials assume Latin text. Applied to Arabic, the usual tricks break letter joining and reading order. Follow these rules, and use motion-design / remotion-motion-graphics for general motion taste (easing, timing). 1. Animate words, never letters. Splitting Arabic into characters (split(''), GSAP SplitText chars) breaks the joined shapes. Split by spaces only. 2. No letter-spacing on Arabic. It disconnects letters. For stretching, use kashida (ـ) deliberately, or scale the word. 3. Set direction. Containers get direction: rtl (CSS) / dir="rtl" (HTML). In flex rows, direction: rtl makes word 1 sit on the right. 4. Isolate mixed text, and keep English runs together. English words and numbers inside Arabic: wrap in or unicode-bidi: isolate so they don't reorder the line. Never animate consecutive English words as separate items: in an RTL row each item is placed right-to-left, so «Claude Code» renders as «Code Claude». Merge runs of non-Arabic words into one token first (tokenize() below). 5. Leave room for marks. Arabic has tall ascenders and diacritics. Use line-height ≥ 1.5, and add vertical padding to any overflow: hidden / mask (≥ 0.25em) or dots and marks
This is an excerpt. Refer to the complete source and its current requirements.
- Source repository
- alfaris/full-production-studio
- Source file
- originals/arabic-motion-typography/SKILL.md
- Fixed revision
- 223f74cc6dceb4c16858c4d58b5d066e7c5eeb83
Sources and evidence
This record was collected automatically. Its documentation, suitability and runtime behavior have not been manually verified.
Author: alfaris/full-production-studio · original repository metadata. Documentation review: Not reviewed. Last source check: 2026-11-10T12:01:33.656Z.
Categories are inferred from names, descriptions and paths. They do not establish compatibility.
License and attribution
MIT. Third-party content and copyright remain with their authors. Refer to the original license and terms.
Original license ↗Synchronization, copying and user-reported success do not mark a resource as runtime-tested.
Limitations and notes
- Collecting metadata does not mean this site has installed, adapted, runtime-tested or security-reviewed the resource.