Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web 組版の課題とその解法

Yamato Iizuka
February 18, 2024

Web 組版の課題とその解法

文字のLT会にて、組版ライブラリ「Palt Typesetting」をどのような課題意識を持って制作したのか、デモも交えて紹介させていただきました。

Yamato Iizuka

February 18, 2024
Tweet

Other Decks in Design

Transcript

  1. ɾଟݴޠରԠ ɾ ϨεϙϯγϒରԠ Ҿ༻ݩ ɿ Notion – The next gen

    of notes & docs (https://www.notion.so/product/docs/) Web ͷಛҟੑ
  2. ɾଟݴޠରԠ ɾ ϨεϙϯγϒରԠ Ҿ༻ݩ ɿ Notion – ࣍ੈ୅ͷϝϞ & υΩϡϝ

    ϯ τ (https://www.notion.so/ja-jp/product/docs) Web ͷಛҟੑ
  3. ɾଟݴޠରԠ ɾ ϨεϙϯγϒରԠ Web ͷಛҟੑ Ҿ༻ݩ ɿ Notion – The

    next gen of notes & docs (https://www.notion.so/product/docs/), Notion – ࣍ੈ୅ͷϝϞ & υΩϡϝ ϯ τ (https://www.notion.so/ja-jp/product/docs)
  4. ελΠϦϯάΛڞ ௨Խͯ͠ӡ ༻Λγϯϓϧʹ͍ͨ͠ ʢ ࣮૷ଆͷؾ࣋ͪ ʣ The Intl.Segmenter object enables

    locale-sensitive text segmentation, enabling you to get meaningful items from a string. English p { text-align: left; /* ࠨଗ͑ */ } ͋ͷΠʔϋ τʔϰΥͷ͖͢ͱ͓ͬͨ෩ɺ ՆͰ΋ఈʹྫྷͨ͞Λ΋ͭ੨͍ͦΒɺ ͏ͭ͘ ͍͠৿Ͱ০ΒΕͨϞϦʔΦࢢɺ ߫֎ͷ͗ Β͗Βͻ͔Δ૲ͷ೾ɻ ೔ຊޠ
  5. ӳ ޠ͸ࠨ ଗ͑ʹɺ ೔ຊ ޠ͸྆ ୺ ଗ͑ʹ͍ͨ͠ ʢ σβΠφʔଆͷؾ࣋ͪ ʣ

    .en { text-align: left; /* ࠨଗ͑ */ } .jp { text-align: justify; /* ྆୺ଗ͑ */ } ͋ͷΠʔϋ τʔϰΥͷ͖͢ͱ͓ͬͨ෩ɺ ՆͰ΋ ఈʹྫྷͨ͞Λ΋ͭ ੨͍ͦΒɺ ͏ͭ͘ ͍͠৿Ͱ ০ΒΕͨϞϦʔΦࢢ ɺ ߫ ֎ͷ͗Β͗Βͻ͔Δ ૲ͷ೾ɻ ೔ຊޠ The Intl.Segmenter object enables locale-sensitive text segmentation, enabling you to get meaningful items from a string. English
  6. εϚϗͳͲͷ ڱ͍ը໘Ͱൃੜ .jp { text-align: justify; /* ྆୺ଗ͑ */ }

    iF DESIGN AWARD ɺ GOOD DESIGN AWARD ɺ Red Dot Design Award ͳͲड৆ଟ਺ɻ GOOD DESIGN AWARD৹ࠪһɻ ೔ຊޠʁ ೔ຊ ޠΛ྆ ୺ ଗ͑ʹ͍͕ͨ͠ʜ ʢ σβΠφʔଆͷؾ࣋ͪ ʣ
  7. ͋ͷΠʔϋ τʔϰΥͷ͖͢ͱ͓ͬͨ෩ɺ ՆͰ΋ఈʹྫྷͨ͞Λ΋ͭ੨͍ͦΒɺ ͏ͭ͘ ͍͠৿Ͱ০ΒΕͨϞϦʔΦࢢɺ ߫֎ͷ͗ Β͗Βͻ͔Δ૲ͷ೾ɻ ೔ຊޠ The Intl.Segmenter

    object enables locale-sensitive text segmentation, enabling you to get meaningful items from a string. English ௨ৗͷࠨଗ͑
  8. ͋ͷΠʔϋ τʔϰΥͷ͖͢ͱ͓ͬͨ෩ɺ ՆͰ΋ఈʹྫྷͨ͞Λ΋ͭ੨͍ͦΒɺ ͏ͭ͘ ͍͠৿Ͱ০ΒΕͨϞϦʔΦࢢɺ ߫֎ͷ͗Β͗Βͻ͔Δ૲ͷ೾ɻ ೔ຊޠ The Intl.Segmenter object

    enables locale-sensitive text segmentation, enabling you to get meaningful items from a string. English ӳޠͷΑ͏ʹ೔ຊޠΛ૊Ή
  9. Web ૊൛ʹ͓͚Δٖࣅࠞ২ body { font-family: Helvetica, "Hiragino Sans", sans-selif; }

    ~~~~~~~~~ ~~~~~~~~~~~~~~~ ӳ਺ ೔ຊޠ ʢ͜ͷྫͰ͸ώϥΪϊ֯ΰʣ
  10. υΠπ͔Βདྷͨ S weynheim ͱ Pannar t z ͱ͍͏ೋਓ͕ <p> υΠπ͔ΒདྷͨSweynheimͱ

    Pannartzͱ͍͏ೋਓ͕ </p> HTML p { font-feature-settings: 'palt'; /* πϝ૊Έ */ letter-spacing: 0.15em; /* τϥοΩϯά150 */ } CSS OUTPUT
  11. υΠπ͔Βདྷͨ S weynheim ͱ Pannar t z ͱ͍͏ೋਓ͕ <p> υΠπ͔Βདྷͨ<latin>Sweynheim</latin>

    ͱ<latin>Pannartz</latin>ͱ͍͏ೋਓ͕ </p> HTML OUTPUT p {... /* ڞ௨ελΠϧͦͷ·· */} latin { /* ͜͜ʹԤจͷελΠϧΛॻ͍͍ͯ͘ */ } CSS HTMLλάͰғ͏
  12. υΠπ͔Βདྷͨ Sweynheimͱ Pannartzͱ͍͏ೋਓ͕ <p> υΠπ͔Βདྷͨ<latin>Sweynheim</latin> ͱ<latin>Pannartz</latin>ͱ͍͏ೋਓ͕ </p> HTML p {...

    /* ڞ௨ελΠϧͦͷ·· */} latin { font-size: 105%; /* จࣈαΠζ105% */ vertical-align: -0.02em; /* ϕʔεϥΠϯ-2% */ -webkit-text-stroke: 0.01em; /* ଠΒͤ1% */ letter-spacing: 0.05em; /* τϥοΩϯά50 */ } CSS CSS OUTPUT ԤจͷελΠϧΛఆٛ
  13. Χʔχϯάϧʔϧͷ ద༻ ػೳΦϯ kerning: [{ between: ['ඒ', '͠'], value: 60

    },/* தུ */ { between: ['͢', 'ɻ '], value: -120 }]