[media-types] Re: [IANA #1448814] text/vnd.hekaya re gistration request

Darrel Miller <[email protected]> Sat, 9 May 2026 18:36:59 +0000
Newsgroups gmane.ietf.types
Message-ID <SN7PR01MB808992ABF41B30154C0F1E83A33A2@SN7PR01MB8089.prod.exchangelabs.com>
This registration looks good to proceed.

Darrel
________________________________
From: Amanda Baber via RT <[email protected]>
Sent: Monday, May 4, 2026 10:33 PM
Cc: [email protected] <[email protected]>; Darrel Miller <[email protected]>
Subject: [IANA #1448814] text/vnd.hekaya registration request

Hi Darrel,

Sending a reminder for this request from April 6th.

thanks,
Amanda

On Tue Apr 07 00:27:00 2026, amanda.baber wrote:
> Hi Darrel,
>
> Would you be able to review this new request by April 20th?
>
> thanks,
> Amanda
>
> =====
>
> Name: Michael K Malak
>
> Email: [email protected]
>
> Media type name: text
>
> Media subtype name: vnd.hekaya
>
> Required parameters: N/A.
>
> Optional parameters: charset: UTF-8 is the default and expected
> charset. Other charsets are not defined for this media type.
>
> Encoding considerations: 8bit
>
> Hekaya files are UTF-8 encoded plain text. Line endings may be LF or
> CRLF (both are accepted and normalized during parsing). Content may
> include Arabic, Latin, and mixed-script text with Unicode
> bidirectional characters.
>
> Security considerations: Hekaya is a plain-text screenplay markup
> format parsed via regex-based tokenization. It does not contain
> executable code, macros, or active content.
>
> The parser performs no file I/O beyond reading the input file; the
> renderer and PDF generator produce static output with no embedded
> scripting.
>
> Notes ([[...]]) and boneyard (/* ... */) sections are stripped from
> output by default, preventing unintended disclosure of annotations in
> exported documents.
>
> The parser has zero runtime dependencies. The PDF generator depends on
> pdfmake-rtl (HarfBuzz-based font shaping) with no network calls.
>
> HTML output uses standard DOM escaping. No user-supplied content is
> interpreted as markup or code.
>
> No additional security considerations beyond those applicable to plain
> text (RFC 2046, Section 3).
>
> Interoperability considerations: Hekaya extends the Fountain
> screenplay markup format (https://fountain.io/) with support for
> right-to-left (RTL) languages, primarily Arabic. Any valid Fountain
> (.fountain) file is also valid Hekaya.
>
> Key extensions for Arabic:
> - @ prefix for character name registration (Arabic has no uppercase)
> - Arabic scene heading keywords (داخلي/خارجي for INT/EXT)
> - Arabic transition keywords from Egyptian film industry conventions
> - Bidirectional text support with Unicode BiDi algorithm
>
> Direction is auto-detected from content or set explicitly via title
> page metadata (Direction: rtl). All regex patterns use the Unicode
> flag (u) for proper Arabic character class matching.
>
> Multiple implementations exist: a TypeScript parser (@hekaya/parser on
> npm), HTML renderer, PDF generator, and a CLI tool.
>
> Published specification: The Hekaya Markup Specification is published
> at: https://michaelkmalak.github.io/hekaya/docs/spec/hekaya-markup-
> spec
>
> Source:
> https://github.com/michaelkmalak/hekaya/blob/main/docs/docs/spec/hekaya-
> markup-spec.md
>
> The specification defines all markup elements, Arabic keyword
> mappings, character registry behavior, bidirectional text handling,
> and Fountain backward compatibility. Current version: v0.1.
>
> Applications which use this media: - @hekaya/parser — TypeScript
> parser (zero dependencies), available on npm
> - @hekaya/renderer — HTML renderer with RTL-aware CSS, available on
> npm
> - @hekaya/pdf — PDF generator with Arabic font shaping, available on
> npm
> - @hekaya/cli — Command-line tool (parse, render, export, validate,
> convert),
> available on npm and as standalone binaries on GitHub Releases
> - hekaya_app — Flutter desktop + web WYSIWYG editor (in development)
>
> All tools are open source (MIT license):
> https://github.com/michaelkmalak/hekaya
> npm packages: https://www.npmjs.com/org/hekaya
>
> Fragment identifier considerations: None defined.
>
> Restrictions on usage: None. This media type is freely usable by any
> application.
>
> Provisional registration? (standards tree only): No
>
> Additional information:
>
> 1. Deprecated alias names for this type: N/A
> 2. Magic number(s): N/A
> 3. File extension(s): .hekaya
> 4. Macintosh file type code: N/A
> 5. Object Identifiers: N/A
>
> General Comments:
>
> Person to contact for further information:
>
> 1. Name: Michael K Malak
> 2. Email: [email protected]
>
> Intended usage: COMMON
>
> Hekaya (حكاية, Arabic for "story") was created to fill the gap left by
> discontinued Arabic screenplay tools (Seyaq, Miktab) and the lack of
> RTL support in the Fountain ecosystem. It serves Egyptian and Arabic-
> speaking screenwriters through the Cairo Indie Filmmakers Club
> (https://cairoindie.com/).
>
> Author/Change controller: Michael K Malak
> (https://github.com/michaelkmalak)

_______________________________________________
media-types mailing list -- [email protected]
To unsubscribe send an email to [email protected]