Применение цвета к арабским диакритическим знакамPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Применение цвета к арабским диакритическим знакам

Сообщение Anonymous »

Я использую язык Python для ввода арабского текста с диакритическими знаками, затем пытаюсь получить тот же текст, что и результат, но диакритические знаки должны быть другого цвета (например, красного), а затем сохраняю результат в файл форматированного текста.
Проблема в том, что я получаю неправильную кодировку в rich-файле (текст написан на непонятном языке).
Результат показан на запустить окно в PyCharm точно так, как я хочу, но в файле форматированного текста оно отображается так:
ط¥ظگظ†ظژظ‘ ط·ظژظ„ظژط¨ظژ ط§ظ„ظ’ط­ظژط§ط¬ظژط©ظگ ط£ظژظ‡ظ’ظˆظژظ†ظڈ ظ…ظگظ†ظ’ ط§ظ„ط§ط­ظ’طھظگظپظژط§ط¸ظگ ط¨ظگظ‡ظژط§

Может ли кто-нибудь помочь мне с этой проблемой?
Вот мой код Python
from colorama import Fore, Style, init

# Initialize colorama to work on Windows
init()

# Function to color diacritics in red and create RTF content
def color_letter_to_rtf(text):
# Start RTF document with Tahoma font
rtf_content = r"{\rtf1\ansi\ansicpg1256\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset178 Tahoma;}}"
rtf_content += r"{\colortbl ;\red255\green0\blue0;}" # Define color table (red)

# Add text to the RTF content
for char in text:
if char in ["َ", "ً", "ُ", "ٌ", "ِ", "ٍ", "ْ", "ّ"]:
rtf_content += r"{\cf1 " + char + r"}" # Apply red color for diacritics
else:
rtf_content += char # Keep other characters as default

rtf_content += r"}" # End RTF document
return rtf_content

# Define the Arabic sentence
sentence = "إِنَّ طَلَبَ الْحَاجَةِ أَهْوَنُ مِنْ الاحْتِفَاظِ بِهَا"

# Call the function to create RTF content
colored_sentence_rtf = color_letter_to_rtf(sentence)

# Save the RTF content to a file
with open("colored_sentence.rtf", "w", encoding="utf-8") as f:
f.write(colored_sentence_rtf)

# Print the sentence with colored diacritics to console (optional)
colored_text = ""
for char in sentence:
if char in ["َ", "ً", "ُ", "ٌ", "ِ", "ٍ", "ْ", "ّ"]:
colored_text += f"{Fore.RED}{char}{Style.RESET_ALL}"
else:
colored_text += char

print(colored_text)
print("The colored sentence has been saved to 'colored_sentence.rtf'.")



Подробнее здесь: https://stackoverflow.com/questions/790 ... diacritics
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Питонский вызов. Соответствие подстановочным знакам
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Текст CSS Анимация Проблема с арабским языком
    Anonymous » » в форуме CSS
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • DatePickerDialog с арабским языком и языком на основе настройки Lanuguage
    Anonymous » » в форуме Android
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • DatePickerDialog с арабским языком и языком на основе языковых настроек
    Anonymous » » в форуме Android
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • DatePickerDialog с арабским языком и языком на основе языковых настроек
    Anonymous » » в форуме Android
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»