arabic-presentations
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseArabic Presentations
阿拉伯语演示文稿
Build the deck with ; use this skill as the stricter Arabic text and compatibility layer. Follow all content, design, workspace, implementation, and visual-QA rules in the Presentations skill. Where Arabic text handling or renderer confidence differs, follow this skill.
Presentations:PresentationsThis public release targets Codex. It requires Codex's bundled Presentations skill and Python 3.
使用构建演示文稿;将本技能作为更严格的阿拉伯语文本处理与兼容性层。遵循Presentations技能中所有内容、设计、工作区、实现和视觉质量检查规则。当阿拉伯语文本处理或渲染器可信度存在差异时,以本技能为准。
Presentations:Presentations本次公开发布针对Codex,需要Codex捆绑的Presentations技能和Python 3环境。
Reliability contract
可靠性约定
Treat editable PPTX as the source artifact and PowerPoint desktop as its canonical viewer.
- Store text in normal logical Unicode order. Never reverse Arabic characters, words, or lines.
- Never wrap Arabic or Latin tokens with Unicode bidi controls such as RLE/PDF, RLI/PDI, LRI/PDI, LRM, or RLM.
- Set native DrawingML direction on every Arabic paragraph: .
<a:pPr rtl="1"> - Set native text-body direction on every Arabic text body: .
<a:bodyPr rtlCol="1"> - Right-align Arabic body text explicitly. Preserve intentional centered or justified alignment.
- Set Arabic run language metadata, normally , and a complex-script font slot when a typeface is explicit.
ar-SA - Use native PowerPoint bullets; do not ship a typed at the start of a paragraph.
• - Keep each paragraph to one base direction. Put long English passages, URLs, citations, and code in separate LTR text boxes.
- Do not promise identical fonts across computers. Use an Arabic-capable font, disclose substitution risk when relevant, and provide PDF when fixed appearance matters.
Read references/authoring.md before authoring Arabic or bilingual text. Read references/qa.md before final QA or when diagnosing cross-application differences.
将可编辑PPTX视为源工件,PowerPoint桌面版作为其标准查看器。
- 以正常逻辑Unicode顺序存储文本。切勿反转阿拉伯语字符、单词或行。
- 切勿使用Unicode双向控制符(如RLE/PDF、RLI/PDI、LRI/PDI、LRM或RLM)包裹阿拉伯语或拉丁语标记。
- 为每个阿拉伯语段落设置原生DrawingML方向:。
<a:pPr rtl="1"> - 为每个阿拉伯语文本框设置原生文本框方向:。
<a:bodyPr rtlCol="1"> - 显式将阿拉伯语正文文本右对齐。保留有意设置的居中或两端对齐方式。
- 设置阿拉伯语运行语言元数据(通常为),并在指定字体时设置复杂脚本字体槽。
ar-SA - 使用PowerPoint原生项目符号;切勿在段落开头使用手动输入的符号。
• - 每个段落保持一种基础方向。将较长的英文段落、URL、引用和代码放在单独的LTR(从左到右)文本框中。
- 不要承诺跨计算机字体完全一致。使用支持阿拉伯语的字体,在相关情况下披露字体替换风险,当需要固定显示效果时提供PDF版本。
在编写阿拉伯语或双语文本前,请阅读references/authoring.md。在最终质量检查或诊断跨应用差异前,请阅读references/qa.md。
Workflow
工作流程
1. Author with the Presentations skill
1. 使用Presentations技能创作
Create or edit the deck using and . Write plain strings without bidi wrappers. A newline may create several PowerPoint paragraphs; the normalization step must fix each paragraph independently.
Presentations:Presentations@oai/artifact-toolPrefer separate text boxes when Arabic and English have different semantic roles. For short mixed phrases, keep the intended logical order, for example:
text
بلغ النمو 25% في Q4 2026.
C4ISR يربط القيادة بالاستطلاع.For lists, use the engine's native list API when available. If the engine only emits typed bullet characters, allow them in the raw draft and convert them during normalization.
使用和创建或编辑演示文稿。编写无双向控制符的纯文本字符串。换行可能会生成多个PowerPoint段落;归一化步骤必须独立修复每个段落。
Presentations:Presentations@oai/artifact-tool当阿拉伯语和英语具有不同语义角色时,优先使用单独的文本框。对于简短的混合短语,保持预期的逻辑顺序,例如:
text
بلغ النمو 25% في Q4 2026.
C4ISR يربط القيادة بالاستطلاع.对于列表,在引擎支持时使用其原生列表API。如果引擎仅输出手动输入的项目符号字符,允许其出现在原始草稿中,并在归一化过程中转换为原生项目符号。
2. Export a raw draft
2. 导出原始草稿
Export to a scratch file such as . Reserve the requested final filename for the normalized file.
$TMP_DIR/deck.raw.pptx导出到临时文件,例如。为归一化后的文件保留请求的最终文件名。
$TMP_DIR/deck.raw.pptx3. Normalize the PPTX
3. 归一化PPTX文件
Run:
bash
ARABIC_SKILL="${ARABIC_PRESENTATIONS_SKILL_DIR:-$HOME/.agents/skills/arabic-presentations}"
python3 "$ARABIC_SKILL/scripts/arabic_pptx.py" repair \
"$TMP_DIR/deck.raw.pptx" \
"$FINAL_PPTX" \
--lang ar-SA \
--convert-bulletsAdd only when the user or deck specifies a font. This writes the complex-script font slot; it does not embed the font.
--font "<Arabic-capable family>"Add for an Arabic-first deck. Omit it for an English-primary or deliberately neutral bilingual deck; presentation reading order is a deck-level choice, separate from the mandatory RTL properties on Arabic paragraphs.
--presentation-rtlThe repair command must preserve the raw draft, remove manual bidi controls, apply native paragraph/text-body direction, add language metadata, fill the complex-script font slot from the selected typeface when possible, and convert typed bullet glyphs to native bullets.
运行以下命令:
bash
ARABIC_SKILL="${ARABIC_PRESENTATIONS_SKILL_DIR:-$HOME/.agents/skills/arabic-presentations}"
python3 "$ARABIC_SKILL/scripts/arabic_pptx.py" repair \
"$TMP_DIR/deck.raw.pptx" \
"$FINAL_PPTX" \
--lang ar-SA \
--convert-bullets仅当用户或演示文稿指定字体时,添加参数。此操作会写入复杂脚本字体槽,但不会嵌入字体。
--font "<Arabic-capable family>"对于阿拉伯语优先的演示文稿,添加参数。对于英语优先或刻意保持中立的双语演示文稿,请省略该参数;演示文稿的阅读顺序是整个文档层面的选择,与阿拉伯语段落必须设置的RTL属性是分开的。
--presentation-rtl修复命令必须保留原始草稿,移除手动双向控制符,应用原生段落/文本框方向,添加语言元数据,尽可能从所选字体填充复杂脚本字体槽,并将手动输入的项目符号字符转换为原生项目符号。
4. Run structural QA
4. 运行结构质量检查
Run the strict audit after every later edit or export:
bash
python3 "$ARABIC_SKILL/scripts/arabic_pptx.py" audit "$FINAL_PPTX" --strictFor an Arabic-first deck, add to the audit command.
--expect-presentation-rtlAny error or strict warning is a delivery blocker. Reopen, repair, or regenerate the deck; do not explain away a failed audit.
The audit proves package structure and Arabic text metadata. It cannot prove visual order inside every application or whether a font is installed.
在后续每次编辑或导出后,运行严格审核:
bash
python3 "$ARABIC_SKILL/scripts/arabic_pptx.py" audit "$FINAL_PPTX" --strict对于阿拉伯语优先的演示文稿,在审核命令中添加参数。
--expect-presentation-rtl任何错误或严格警告都是交付阻塞项。重新打开、修复或重新生成演示文稿;不要为审核失败找借口。
审核可验证包结构和阿拉伯语文本元数据,但无法验证每个应用内的显示顺序,或字体是否已安装。
5. Run visual and application QA
5. 运行视觉与应用质量检查
Use the Presentations skill's render-and-inspect loop for layout, overflow, wrapping, contrast, and overlap. Do not use the Codex/LibreOffice renderer as the authority for Arabic character or word order; it may render valid PPTX bidi text incorrectly.
When invoking the Presentations skill's Python container tools in Codex Desktop, use the bundled Python returned by ; the system Python may not include and the other rendering dependencies.
load_workspace_dependenciespdf2imageWhen PowerPoint desktop is available, open the final normalized PPTX and inspect the mixed-text corpus in references/qa.md, plus every slide containing numbers, Latin acronyms, parentheses, percentages, URLs, or bullets. PowerPoint visual QA is required before claiming "PowerPoint verified."
Use Keynote and Google Slides only as secondary compatibility checks. If they differ from PowerPoint, preserve the structurally correct PPTX and report the application-specific difference. For Google Slides, expect unavailable local fonts to be substituted.
使用Presentations技能的渲染与检查循环来检查布局、溢出、换行、对比度和重叠问题。不要将Codex/LibreOffice渲染器作为阿拉伯语字符或单词顺序的权威;它可能会错误渲染有效的PPTX双向文本。
在Codex Desktop中调用Presentations技能的Python容器工具时,请使用返回的捆绑Python;系统Python可能不包含和其他渲染依赖项。
load_workspace_dependenciespdf2image当PowerPoint桌面版可用时,打开最终归一化的PPTX文件,检查references/qa.md中的混合文本语料库,以及所有包含数字、拉丁语缩写、括号、百分比、URL或项目符号的幻灯片。在声称“PowerPoint已验证”前,必须完成PowerPoint视觉质量检查。
仅将Keynote和Google Slides作为次要兼容性检查。如果它们与PowerPoint显示不同,请保留结构正确的PPTX文件,并报告应用特定的差异。对于Google Slides,预期本地不可用的字体会被替换。
6. Deliver honestly
6. 如实交付
Report these separately:
Structural Arabic QA: PASS/FAILLayout QA: PASS/FAILPowerPoint visual QA: PASS/NOT RUNKeynote/Google Slides compatibility: PASS/NOT RUN/DIFFERS- or
Font portability: installed-font dependentPDF supplied
Do not say "perfect everywhere" or "cross-app verified" unless those applications were actually opened and inspected.
分别报告以下内容:
阿拉伯语文本结构质量检查:通过/未通过布局质量检查:通过/未通过PowerPoint视觉质量检查:通过/未运行Keynote/Google Slides兼容性:通过/未运行/存在差异- 或
字体可移植性:依赖已安装字体已提供PDF版本
除非实际打开并检查了这些应用,否则不要说“在所有平台完美显示”或“跨应用已验证”。
Special cases
特殊情况
- Existing deck repair: preserve the input and write a distinct normalized PPTX unless the user explicitly authorizes in-place replacement.
- Arabic charts: prefer numeric/Latin chart internals with Arabic titles and labels as separate RTL text boxes unless PowerPoint visual QA is available. Native chart bidi is not fully proven by the bundled audit.
- Tables: set RTL on cell paragraphs. Mirror column order only when the table's semantic reading order is Arabic; do not mirror decorative geometry automatically.
- Speaker notes: normalize Arabic notes too; the repair script scans DrawingML paragraphs throughout the PPTX package.
- PDF: use PDF for fixed distribution, not as a replacement for delivering the requested editable PPTX.
- 现有演示文稿修复: 保留输入文件,生成一个独立的归一化PPTX文件,除非用户明确授权原地替换。
- 阿拉伯语图表: 优先使用数字/拉丁语图表内部元素,将阿拉伯语标题和标签作为单独的RTL文本框,除非可进行PowerPoint视觉质量检查。原生图表双向显示未被捆绑审核完全验证。
- 表格: 为单元格段落设置RTL。仅当表格的语义阅读顺序为阿拉伯语时,才反转列顺序;不要自动反转装饰性几何结构。
- 演讲者备注: 同样归一化阿拉伯语备注;修复脚本会扫描整个PPTX包中的DrawingML段落。
- PDF: 使用PDF进行固定格式分发,但不要替代交付用户请求的可编辑PPTX文件。