Skip to main content

Convert Persian and English text to ancient scripts like Pahlavi, Avestan, Cuneiform, and Manichaean.

Project description

Ancient Scripts Converter

📜 A Python package for converting text to ancient writing systems

How It Works / نحوه کارکرد

The converter works character by character using mapping dictionaries.
مبدل به صورت حرف به حرف و با استفاده از دایره‌المعارف‌های نگارشی کار می‌کند.

Text Conversion Flow

Input Text
│
▼
[Iterate Character by Character]
│
▼
[Check Character Type]
├─ Persian Letter → Persian Mapping Dictionary
├─ English Letter → English Mapping Dictionary
├─ Number → Number Mapping Dictionary
└─ Symbol → Symbol Mapping Dictionary
│
▼
[Convert or Keep Original]
│
▼
Output Text in Ancient Script

Explanation / توضیح مرحله به مرحله:

  1. Character Mapping / نگاشت حروف

    • Each ancient script has its own dictionary mapping Persian, English, numbers, and symbols.
      هر خط باستانی دارای دیکشنری مخصوص خود است که حروف فارسی، انگلیسی، اعداد و علائم را به نمادهای مربوطه تبدیل می‌کند.
  2. Conversion / تبدیل

    • Iterate through each character of the input text.
    • Replace it with the mapped symbol from the dictionary.
    • If a character is not found, keep it unchanged.
    • هر حرف متن ورودی بررسی می‌شود، جایگزین نماد متناظر می‌شود، و اگر در دیکشنری نبود، بدون تغییر باقی می‌ماند.
  3. Supported Types / انواع پشتیبانی شده

    • Persian letters / حروف فارسی
    • English letters / حروف انگلیسی
    • Numbers / اعداد
    • Some punctuation and symbols / برخی علائم نگارشی و سمبل‌ها
  4. Optimized Scripts / خطوط بهینه شده

    • Some scripts like Linear B or Oracle Bone use optimized mappings for faster and more accurate conversion.
      برخی خطوط مانند خط ب یا اوراکل بون دارای دایره‌المعارف بهینه برای تبدیل سریع‌تر و دقیق‌تر هستند.

Installation

pip install --upgrade  ancientlinesoftheworld

Usage

from   ancient import AncientScripts

converter = AncientScripts()

#  تبدیل  متن به خط باستانی میخی
cuneiform_text = converter.cuneiform("سلام")

print(cuneiform_text)

# تبدیل متن به خط باستانی مصری 
hieroglyph_text = converter.hieroglyph("خدا")

print(hieroglyph_text)

# تبدیل متن  تاریخی اوستایی

avesta = converter.avestan("hiسلام")
print(avesta)

print(c.get_supported_scripts())

Project :

from ancient import AncientScripts, AncientTimeline

# ایجاد نمونه از کلاس اصلی
c = AncientScripts()

# ایجاد تایم‌لاین با خط پهلوی
t = AncientTimeline(script='pahlavi')

print("🕊️ Welcome to AncientLinesOfTheWorld 🏛️")
print("=" * 60)
print("🔹 Supported Ancient Scripts:")
for name, desc in c.get_supported_scripts().items():
    print(f"  - {name:<12}{desc}")
print("=" * 60)


text = "hi"
print(f"\nOriginal text: {text}\n")

print("🪶 Converted Texts:")
print(f"  🔸 Pahlavi:       {c.pahlavi(text)}")
print(f"  🔸 Akkadian:      {c.akkadian(text)}")
print(f"  🔸 Avestan:       {c.avestan(text)}")
print(f"  🔸 Manichaean:    {c.manichaean(text)}")
print(f"  🔸 Linear B:      {c.linear_b(text)}")
print(f"  🔸 Hebrew:        {c.hebrew(text)}")
print(f"  🔸 Hieroglyph:    {c.hieroglyph(text)}")
print(f"  🔸 Sanskrit:      {c.sanskrit(text)}")
print(f"  🔸 Oracle Bone:   {c.oracle_bone(text)}")
print(f"  🔸 : cuneiform :  {c.cuneiform(text)}")

print("\n" + "=" * 60)

# 🕰️ نمایش زمان زنده با خط پهلوی
print("📜 Real-time Ancient Timeline (Pahlavi Script):")
t.show()

print("=" * 60)
print("💫 Powered by AncientLinesOfTheWorld | Created by AmirHossein Kader")

generate image

from ancient.visualizer import AncientImageGenerator

# ساخت شیء از کلاس و تعیین نوع خط
generator = AncientImageGenerator(script="cuneiform")

# متنی که می‌خوای تبدیل بشه
text = "تمدن از اینجا آغاز شد"

# تولید تصویر با متن باستانی
output_image = generator.generate_image(text)

print(f"📜 تصویر آماده شد و در این مسیر ذخیره شد:\n{output_image}")

Supported Scripts

  • Cuneiform

  • Egyptian Hieroglyphs

  • Pahlavi script

  • Manichaean script

  • Linear B -avestan

  • And more...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ancientlinesoftheworld-2.1.1.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ancientlinesoftheworld-2.1.1-py3-none-any.whl (3.9 MB view details)

Uploaded Python 3

File details

Details for the file ancientlinesoftheworld-2.1.1.tar.gz.

File metadata

  • Download URL: ancientlinesoftheworld-2.1.1.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for ancientlinesoftheworld-2.1.1.tar.gz
Algorithm Hash digest
SHA256 551e51ac7206a28023056b49cade2000f28d947f9f64a086cadf9d098c047ebf
MD5 d2deade108068038900df7c027d6960f
BLAKE2b-256 70282a2010732bd12b3b3ef10ffe1e4fcfeb369c7c17addf7805cf61aa2d58d9

See more details on using hashes here.

File details

Details for the file ancientlinesoftheworld-2.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ancientlinesoftheworld-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6e9170d96de1026aa259e65272573e7c397415b22a29150ef03ad939ae01ba20
MD5 749a835cd5ae66007107e4d0de5eb9cb
BLAKE2b-256 61bc3743c8a9aabd91a7ec93b5c2bd8d5e87dc27db2a71014a5d1dbc6867743f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page