# -*- coding: utf-8 -*-
from docx import Document
from docx.shared import Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn

EAST = '微软雅黑'
CS = 'Tahoma'

def style_run(run, size=12, bold=False):
    run.font.name = CS
    run.font.size = Pt(size)
    run.bold = bold
    rPr = run._element.get_or_add_rPr()
    rFonts = rPr.get_or_add_rFonts()
    rFonts.set(qn('w:eastAsia'), EAST)
    rFonts.set(qn('w:cs'), CS)

def para(doc, text, size=12, bold=False, align=None, space_after=4):
    p = doc.add_paragraph()
    r = p.add_run(text)
    style_run(r, size=size, bold=bold)
    if align is not None:
        p.alignment = align
    p.paragraph_format.space_after = Pt(space_after)
    p.paragraph_format.space_before = Pt(0)
    return p

doc = Document()

# Title
para(doc, '基础泰语1 · 练习题（满分 50 分）', size=16, bold=True,
     align=WD_ALIGN_PARAGRAPH.CENTER, space_after=8)
para(doc, '姓名：______________　得分：______________', size=12,
     align=WD_ALIGN_PARAGRAPH.CENTER, space_after=12)

# 一、选择题
para(doc, '一、选择题（每题 2 分，共 20 分）', bold=True, space_after=6)
choice = [
    '1. 泰语中，什么能区别词义？（　）',
    '　　A. 声调　B. 笔顺　C. 字母大小　D. 书写速度',
    '2. 下列哪个是中辅音里的浊辅音？（　）',
    '　　A. ป　B. ด　C. ต　D. ก',
    '3. ด 与下列哪个字母读音相同？（　）',
    '　　A. ฏ　B. ต　C. ฎ　D. บ',
    '4. อ 的特殊之处是？（　）',
    '　　A. 是浊辅音　B. 可作零辅音（只占位，不发音）　C. 不是辅音　D. 是元音',
    '5. 泰语书写应从哪里起笔？（　）',
    '　　A. 顶端　B. 左边　C. 有圆圈的地方　D. 右下角',
    '6. 元音 -ิ 写在辅音字母的什么位置？（　）',
    '　　A. 上方　B. 下方　C. 右边　D. 左边',
    '7. 特殊元音 ไ- 与 ใ- 的关系是？（　）',
    '　　A. 读音相同，写法不同　B. 读音不同，写法相同　C. 完全相同　D. 完全无关',
    '8. "ตี" 的意思是？（　）',
    '　　A. 打　B. 看　C. 拿　D. 踢',
    '9. 长元音 -ี 对应的短元音是？（　）',
    '　　A. -ิ　B. -ึ　C. -ุ　D. -ะ',
    '10. "ดำ" 的意思是？（　）',
    '　　A. 黑　B. 白　C. 红　D. 轻',
]
for line in choice:
    para(doc, line, space_after=3)

# 二、判断题
para(doc, '二、判断题（每题 2 分，共 10 分。对的打 ✓，错的打 ✗）', bold=True, space_after=6)
judge = [
    '11. 中辅音一共有 9 个字母。（　）',
    '12. 长元音的发音时间比短元音长。（　）',
    '13. 第一课学的单元音一共有 3 对长短对应。（　）',
    '14. "จำ" 是"记"的意思。（　）',
    '15. 泰语一共有 5 个声调。（　）',
]
for line in judge:
    para(doc, line, space_after=3)

# 三、填空题
para(doc, '三、填空题（每题 2 分，共 10 分）', bold=True, space_after=6)
fill = [
    '16. ต 的同音字是 ________________。',
    '17. 音节 เกาะ 由辅音 ________ 和元音 ________ 组成。',
    '18. 中文"螃蟹"的泰语是 ________________。',
    '19. 中文"心"的泰语是 ________________。',
    '20. 写出 6 个特殊元音中的任意 3 个：________、________、________。',
]
for line in fill:
    para(doc, line, space_after=4)

# 四、句子翻译
para(doc, '四、句子翻译（每题 5 分，共 10 分）', bold=True, space_after=6)
para(doc, '21. 中译泰：眼睛好。', space_after=2)
para(doc, '　　____________________________', space_after=6)
para(doc, '22. 泰译中：ไปดู', space_after=2)
para(doc, '　　____________________________', space_after=6)

# 参考答案 (new page)
doc.add_page_break()
para(doc, '参考答案', size=15, bold=True, align=WD_ALIGN_PARAGRAPH.CENTER, space_after=8)
para(doc, '一、选择题：1. A　2. B　3. C　4. B　5. C　6. A　7. A　8. A　9. A　10. A', space_after=6)
para(doc, '二、判断题：11. ✓　12. ✓　13. ✗　14. ✓　15. ✓', space_after=6)
para(doc, '三、填空题：16. ฏ　17. ก、เ-าะ　18. ปู　19. ใจ　20. -ำ、ไ-、ใ-、เ-า、ฤ、ฤๅ（任选 3 个）', space_after=6)
para(doc, '四、翻译：21. ตา ดี　22. 去看', space_after=6)

out = '/home/mi/.openclaw/workspace/基础泰语1_简单练习题_50分.docx'
doc.save(out)
print('SAVED', out)
