*Shalakya Tantra definition* *Netra Roga* Samanya Nidan Samprapti Purvarupa Samanya Chikitsa Drishti definition Dvitiya Patalagata Timira Tritiya Patalagata Timira Kriyakalpa definition Kriyakalpa types/ bheda (5 or 7) Bidalaka definition Seka definition Pindi definition Ascyotana definition Samyak Tarpana Lakshan Tarpana Ayoga/Hinayoga lakshana Tarpana atiyoga lakshana *Shiro-Karna-Nasa- Mukha Nidan* Shiroraga Nidan Mukharoga Nidan give sloka with meaning
Shalakya Tantra definition Netra Roga Samanya Nidan Samprapti Kriyakalpa Ayurveda
https://www.wjpmr.com/download/article/32022018/1519801500.p…
Shiroroga Nidan Mukharoga Nidan sloka Ayurveda Shalakya Tantra definition meaning Sanskrit
https://www.ijbamr.com/assets/images/issues/pdf/08WvPO_21YAD…
Netra Roga Samanya Nidan Samprapti Purvarupa Drishti definition Patalagata Timira Dvitiya Tritiya symptoms Ayurveda Sushruta
https://www.jbino.com/docs/Issue02a_11_2024.pdf
Tarpana samyak atiyoga hinayoga lakshana Bidalaka Seka Pindi Ascyotana definition Mukharoga Nidan sloka Sanskrit Ayurveda
"Shalakayam Pravartatae Iti Shalakya Tantram" "That which is dealt with using a Shalaka (probe/instrument) is called Shalakya Tantra."
| # | Causative Factor | Meaning |
|---|---|---|
| 1 | Doorekshanat | Prolonged gazing at distant objects |
| 2 | Ushnabhitaptasya Jalepraveshat | Entering cold water immediately after exposure to heat |
| 3 | Swapna Viparyayat | Disturbed or improper sleep |
| 4 | Kopa, Shoka, Klesha | Anger, grief, mental stress |
| 5 | Abhighata | Trauma/injury to the eye |
| 6 | Vegavarodha | Suppression of natural urges |
| 7 | Chardi Nigraha | Suppressing vomiting reflex |
| 8 | Dhooma Nisevana | Exposure to smoke/smoking |
| 9 | Sukshma Nirikshanat | Continuously observing minute objects |
| 10 | Ati Ushna, Katu, Kshara Ahara Sevana | Excess intake of hot, pungent, alkaline foods |
| 11 | Atirodana | Excessive weeping |
| 12 | Aatapa Sevana | Excessive sun exposure |
| 13 | Ambukreeda | Playing/remaining in water for too long |
These are general prodromal symptoms; specific Purvarupa is considered "Avyakta" (undefined/unclear).
"Drish" Dhatu + "Ktin" Pratyaya = Drishti Meaning: "The process/instrument by which we see."
| Interpretation | Meaning |
|---|---|
| Drishti = Retina | Explains diseases like Pitta Vidagdha Drishti, Dhumdarshi |
| Drishti = Vision | The act or capacity of seeing |
| Drishti Mandala = Pupil | The circular aperture of the iris |
| Drishti Mani = Crystalline Lens | The transparent biconvex structure |
| Drishti = Functional unit of the eye | Composed of all essential Dhatus of the eyeball |
"Timi + Kirach pratyaya = Timira" (Unadi Sutra) - that which causes darkness of vision.
"Dwitiye tu viparyastam drishtam cha samasam smritam"
| Symptom | Modern Correlation |
|---|---|
| Sees Makshika, Matsya, Kesha (flies, fish, hair) | Floaters (Muscae volitantes) |
| Sees Jala, Megha (water, clouds) | Metamorphopsia |
| Sees bright dots like stars, lightning | Photopsia |
| Objects kept near appear far; far objects appear near | Loss of depth perception |
| Unable to thread a needle (Suchi vyadhana ashakyata) | Presbyopia |
| Sees parts of a face as incomplete | Scotoma (field defects) |
| Objects appear as if bifurcated/doubled | Diplopia |
Modern correlation: 2nd Patalagata Timira corresponds to early/intermediate vitreoretinal disorders, vitreous floaters, and retinal changes.
"Trite raga prapthi - vividhavarnabhasa" "In the third Patala, different colors are perceived corresponding to the Dosha involved."
| Dosha Involved | Color Perceived | Modern Correlation |
|---|---|---|
| Vataja | Reddish-black (Rakta-Krishna varna) | Nuclear/cortical cataract changes |
| Pittaja | Yellow or blue (Peeta/Nila varna) | Yellow nuclear sclerosis |
| Kaphaja | White (Shukla varna) | White mature cataract |
| Raktaja | Red (Rakta varna) | Hemorrhagic/vascular changes |
| Sannipataja | Multiple colors (Nana varna) | Mixed/complicated cataract |
Modern correlation: 3rd Patalagata Timira corresponds to mature/hypermature cataract and vitreous opacification. Kacha = Cataract.
"Kriya cha Kalpa cha Kriyakalpa"
Just as Panchakarma is the foundation of treatment in Kayachikitsa (general medicine), Netra Kriyakalpa is the foundation of treatment in Netra Chikitsa (ophthalmology).
Note: Acharya Sushruta does not separately mention Pindi and Bidalaka. Acharya Sharangdhara added these and described all seven as "Netra Prasadan Karma" (procedures maintaining proper eye function without side effects).
Definition: Bidalaka is the application of medicated paste over the outer surface of the closed eyelids, leaving the eyelashes free. It is a type of Lepa Kalpana (paste application).
"Dhara prakarana sekha" - pouring of medicated liquid over the affected part in a continuous stream.
"Vastravesthita pinda dharana = Pindi" - The cloth-bound bolus kept over the eyes.
"Aushadha bindu patana aschyotana" - Dropping medicinal bindu (drops) into the eyes.
"Tarpayati netra iti Tarpana" - That which satisfies/nourishes the eye.
| Nidana | Meaning |
|---|---|
| Baashpa Nigraha | Withholding strong emotions, suppressing tears |
| Atirodana | Excessive crying/weeping |
| Atisvaapna / Atiprajagara | Excessive sleep OR excessive wakefulness |
| Ati Ushna / Ati Sheeta | Excessive exposure to heat or cold |
| Shiro Abhighata | Trauma/injury to the head |
| Vegavarodha | Suppression of natural urges |
| Aatapa Sevana | Excessive sun exposure |
| Dhooma Nishevana | Excessive smoking/smoke inhalation |
| Ati Ambukreeda | Excessive water sports/being in water |
| Ushna Dravya Sevana | Intake of hot, spicy substances |
| Krodha, Shoka | Anger, grief, mental stress |
| Ati Vyavaya | Excessive sexual activity |
| Purisha Mutra Vegavarodha | Suppression of stool/urine urges |
| Shirahkampa | Head injury causing tremors |
"Atibhojana mithyahara katu tikshna ati sevana | Divaswapna ratrijagrana vegavarodha eva cha || Ati ushna bhojana sevat asuchi dharan tat tatha | Danta mala mala sanchaya mukha roga karanam smritam ||"
| Nidana | Meaning |
|---|---|
| Atibhojana | Overeating |
| Mithyahara | Improper diet |
| Katu, Tikshna, Ushna Ahara | Excess pungent, sharp, hot food |
| Danta Mala Sanchaya | Accumulation of dental plaque/tartar |
| Asuchi Dharana | Improper oral hygiene |
| Vegavarodha | Suppression of natural urges |
| Divaswapna | Daytime sleep |
| Ratrijagrana | Night-waking/inadequate sleep |
| Pradushta Danta Kastha | Use of contaminated tooth-stick (datun) |
| Ati Amla Sevana | Excessive intake of sour substances |
| Abhighata | Trauma to oral cavity |
| Krimi | Oral parasites/organisms |
| Topic | Key Points |
|---|---|
| Shalakya Tantra | Branch for Urdhwajatrugata Rogas; uses Shalaka (probe); also called Urdhwanga Chikitsa |
| Netra Roga Nidana | 13+ causes: Doorekshana, Abhighata, Vegavarodha, Dhooma, Stress, dietary errors |
| Samprapti | Dosha Prakopa → Sanchara via Roopavaha Siras → Patala Lodgement → Disease |
| Purvarupa | Avyakta (non-specific): Guruta, Toda, Daha, Kandu, Vihanyamana Rupa |
| Samanya Chikitsa | Nidana Parivarjana, Ahara, Tarpana, Nasya, Virechana, Kriyakalpa |
| Drishti | Functional unit of eye; derived from "Drish+Ktin"; = Retina/Pupil/Lens/Vision |
| Dvitiya Patalagata | Floaters, photopsia, diplopia, depth perception loss, presbyopia |
| Tritiya Patalagata | Kacha; colored vision by Dosha; Vata=reddish-black, Pitta=yellow/blue, Kapha=white |
| Kriyakalpa (5) | Per Sushruta: Tarpana, Putapaka, Seka, Aschyotana, Anjana |
| Kriyakalpa (7) | Per Vagbhata/Sharangdhara: above + Pindi + Bidalaka |
| Bidalaka | Paste on outer eyelid; eye looks like cat's eyes |
| Seka | Continuous stream of liquid poured over closed eyes; for severe conditions |
| Pindi | Modification of Bidalaka; paste packed in cloth; poultice over eyelids |
| Aschyotana | Eye drops; 1st-line Kriyakalpa; ~10 drops per session |
| Samyak Tarpana | Laghuta, Tejas, Prasada, Praharsha, Vikasita Akshi |
| Hinayoga Tarpana | Guruta, Toda, Kandu, Dryness, Avila Drishti persist |
| Atiyoga Tarpana | Shopha, Raga, Fever, Vomiting, Shiroguruta, worsening vision |
| Shiroroga Nidan | 11 types; causes: Baashpa Nigraha, stress, dietary errors, suppression of urges |
| Mukharoga Nidan | 65 types; causes: Mithyahara, Danta Mala, Asuchi, Vegavarodha, Abhighata |
I need sloka in Sanskrit or devnagri language with meaning pdf bna ke do
mkdir -p /home/daytona/workspace/shalakya-pdf && ls /home/daytona/workspace/shalakya-pdf/
python3 -c "from reportlab.pdfbase import pdfmetrics; from reportlab.pdfbase.ttfonts import TTFont; import os; print('reportlab ok'); fonts = [f for f in os.listdir('/usr/share/fonts/truetype/') if 'Noto' in f or 'Devanagari' in f or 'noto' in f.lower()]; print(fonts)"
find /usr/share/fonts -name "*.ttf" 2>/dev/null | grep -i "noto\|devanagari\|hindi\|sans" | head -20; find /home -name "*.ttf" 2>/dev/null | head -5
cd /home/daytona/workspace/shalakya-pdf && wget -q "https://github.com/google/fonts/raw/main/ofl/notosansdevanagari/NotoSansDevanagari%5Bwdth%2Cwght%5D.ttf" -O NotoSansDevanagari.ttf && ls -lh NotoSansDevanagari.ttf
cd /home/daytona/workspace/shalakya-pdf && python3 -c " from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont pdfmetrics.registerFont(TTFont('Devanagari', 'NotoSansDevanagari.ttf')) from reportlab.platypus import Paragraph from reportlab.lib.styles import ParagraphStyle style = ParagraphStyle('test', fontName='Devanagari', fontSize=14) p = Paragraph('नमस्ते', style) print('Font works!') "
~/shalakya-pdf/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.units import cm
from reportlab.lib.colors import HexColor, white, black
from reportlab.lib.styles import ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table,
TableStyle, HRFlowable, KeepTogether)
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
# Register fonts
pdfmetrics.registerFont(TTFont('Deva', '/home/daytona/workspace/shalakya-pdf/NotoSansDevanagari.ttf'))
pdfmetrics.registerFont(TTFont('DejaVu', '/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf'))
pdfmetrics.registerFont(TTFont('DejaVuBold', '/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf'))
# Colors
SAFFRON = HexColor('#FF6600')
DARK_SAFFRON= HexColor('#CC4400')
GOLD = HexColor('#DAA520')
CREAM = HexColor('#FFF8F0')
LIGHT_CREAM = HexColor('#FFFDF9')
DARK_BROWN = HexColor('#4A2800')
GREEN = HexColor('#2E6B2E')
LIGHT_GREEN = HexColor('#E8F5E9')
LIGHT_BLUE = HexColor('#E3F2FD')
BLUE = HexColor('#1565C0')
SLOKA_BG = HexColor('#FFF3E0')
SLOKA_BORDER= HexColor('#FF8C00')
MEANING_BG = HexColor('#F1F8E9')
W, H = A4
# Styles
def make_styles():
title_main = ParagraphStyle('title_main', fontName='DejaVuBold', fontSize=20,
textColor=white, alignment=TA_CENTER, leading=28, spaceAfter=4)
title_sub = ParagraphStyle('title_sub', fontName='DejaVu', fontSize=11,
textColor=white, alignment=TA_CENTER, leading=16)
section_heading = ParagraphStyle('section_heading', fontName='DejaVuBold', fontSize=14,
textColor=white, alignment=TA_CENTER, leading=20, spaceBefore=6, spaceAfter=4)
sub_heading = ParagraphStyle('sub_heading', fontName='DejaVuBold', fontSize=11,
textColor=DARK_BROWN, alignment=TA_LEFT, leading=16, spaceBefore=6, spaceAfter=3)
sloka_deva = ParagraphStyle('sloka_deva', fontName='Deva', fontSize=14,
textColor=DARK_BROWN, alignment=TA_CENTER, leading=24, spaceBefore=4, spaceAfter=4)
sloka_roman = ParagraphStyle('sloka_roman', fontName='DejaVu', fontSize=10,
textColor=HexColor('#555500'), alignment=TA_CENTER, leading=16, spaceAfter=3)
meaning_label = ParagraphStyle('meaning_label', fontName='DejaVuBold', fontSize=10,
textColor=GREEN, alignment=TA_LEFT, leading=14, spaceBefore=2)
meaning_text = ParagraphStyle('meaning_text', fontName='DejaVu', fontSize=10,
textColor=HexColor('#1A1A1A'), alignment=TA_JUSTIFY, leading=15, spaceAfter=4)
ref_style = ParagraphStyle('ref_style', fontName='DejaVu', fontSize=8,
textColor=BLUE, alignment=TA_RIGHT, leading=12, spaceAfter=2)
normal = ParagraphStyle('normal', fontName='DejaVu', fontSize=10,
textColor=black, alignment=TA_JUSTIFY, leading=15, spaceAfter=4)
bullet = ParagraphStyle('bullet', fontName='DejaVu', fontSize=9.5,
textColor=HexColor('#1A1A1A'), leftIndent=14, leading=14, spaceAfter=2)
table_header = ParagraphStyle('table_header', fontName='DejaVuBold', fontSize=9,
textColor=white, alignment=TA_CENTER, leading=13)
table_cell = ParagraphStyle('table_cell', fontName='DejaVu', fontSize=8.5,
textColor=black, alignment=TA_LEFT, leading=13)
table_deva = ParagraphStyle('table_deva', fontName='Deva', fontSize=10,
textColor=DARK_BROWN, alignment=TA_LEFT, leading=16)
note = ParagraphStyle('note', fontName='DejaVu', fontSize=8,
textColor=HexColor('#555555'), alignment=TA_CENTER, leading=12, spaceAfter=2)
return {
'title_main': title_main, 'title_sub': title_sub,
'section_heading': section_heading, 'sub_heading': sub_heading,
'sloka_deva': sloka_deva, 'sloka_roman': sloka_roman,
'meaning_label': meaning_label, 'meaning_text': meaning_text,
'ref_style': ref_style, 'normal': normal, 'bullet': bullet,
'table_header': table_header, 'table_cell': table_cell,
'table_deva': table_deva, 'note': note
}
def section_header(text, s, color=SAFFRON):
return Table([[Paragraph(text, s['section_heading'])]],
colWidths=[W - 4*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,-1), color),
('ROUNDEDCORNERS', [6,6,6,6]),
('TOPPADDING', (0,0), (-1,-1), 8),
('BOTTOMPADDING', (0,0), (-1,-1), 8),
('LEFTPADDING', (0,0), (-1,-1), 12),
('RIGHTPADDING', (0,0), (-1,-1), 12),
]))
def sloka_block(deva_lines, roman_lines, meaning_lines, ref, s):
"""Render a sloka box with Devanagari, Roman transliteration, meaning, reference."""
content = []
for line in deva_lines:
content.append(Paragraph(line, s['sloka_deva']))
if roman_lines:
content.append(Spacer(1, 2))
for line in roman_lines:
content.append(Paragraph(f'<i>{line}</i>', s['sloka_roman']))
content.append(HRFlowable(width='80%', thickness=0.5, color=GOLD, spaceAfter=4, spaceBefore=4))
content.append(Paragraph('Meaning / अर्थ:', s['meaning_label']))
for line in meaning_lines:
content.append(Paragraph(line, s['meaning_text']))
if ref:
content.append(Paragraph(f'— {ref}', s['ref_style']))
inner = Table([[c] for c in content],
colWidths=[W - 7*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,-1), SLOKA_BG),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 2),
('LEFTPADDING', (0,0), (-1,-1), 8),
('RIGHTPADDING', (0,0), (-1,-1), 8),
]))
outer = Table([[inner]],
colWidths=[W - 4*cm],
style=TableStyle([
('BOX', (0,0), (-1,-1), 1.5, SLOKA_BORDER),
('ROUNDEDCORNERS', [8,8,8,8]),
('TOPPADDING', (0,0), (-1,-1), 6),
('BOTTOMPADDING', (0,0), (-1,-1), 6),
('LEFTPADDING', (0,0), (-1,-1), 8),
('RIGHTPADDING', (0,0), (-1,-1), 8),
('BACKGROUND', (0,0), (-1,-1), SLOKA_BG),
]))
return outer
def two_col_table(headers, rows, s, col_widths=None):
if col_widths is None:
col_widths = [(W-4*cm)*0.45, (W-4*cm)*0.55]
data = [[Paragraph(h, s['table_header']) for h in headers]]
for row in rows:
data.append([Paragraph(str(c), s['table_cell']) for c in row])
t = Table(data, colWidths=col_widths)
ts = TableStyle([
('BACKGROUND', (0,0), (-1,0), SAFFRON),
('ROWBACKGROUNDS', (0,1), (-1,-1), [LIGHT_CREAM, white]),
('GRID', (0,0), (-1,-1), 0.5, HexColor('#CCCCCC')),
('FONTNAME', (0,0), (-1,0), 'DejaVuBold'),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 6),
('RIGHTPADDING', (0,0), (-1,-1), 6),
('VALIGN', (0,0), (-1,-1), 'TOP'),
])
t.setStyle(ts)
return t
# ─────────────────────────────────────────
# Build document
# ─────────────────────────────────────────
def build():
s = make_styles()
out_path = '/home/daytona/workspace/shalakya-pdf/Shalakya_Tantra_Slokas.pdf'
doc = SimpleDocTemplate(out_path, pagesize=A4,
leftMargin=2*cm, rightMargin=2*cm, topMargin=2*cm, bottomMargin=2*cm)
story = []
# ══════════════════ COVER HEADER ══════════════════
cover = Table([[Paragraph('SHALAKYA TANTRA', s['title_main']),],
[Paragraph('Complete Slokas with Devanagari, Transliteration & Meaning', s['title_sub'])],
[Paragraph('शालाक्य तन्त्र — नेत्र, शिरो, मुख रोग', ParagraphStyle('cover_deva', fontName='Deva', fontSize=15, textColor=GOLD, alignment=TA_CENTER, leading=22))]],
colWidths=[W - 4*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,-1), DARK_BROWN),
('TOPPADDING', (0,0), (-1,-1), 10),
('BOTTOMPADDING', (0,0), (-1,-1), 10),
('LEFTPADDING', (0,0), (-1,-1), 16),
('RIGHTPADDING', (0,0), (-1,-1), 16),
('ROUNDEDCORNERS', [8,8,8,8]),
]))
story.append(cover)
story.append(Spacer(1, 0.4*cm))
story.append(Paragraph('Reference: Sushruta Samhita | Ashtanga Hridayam | Vagbhata | Sharangdhara Samhita', s['note']))
story.append(HRFlowable(width='100%', thickness=1.5, color=SAFFRON, spaceAfter=8, spaceBefore=4))
story.append(Spacer(1, 0.3*cm))
# ══════════════════ 1. SHALAKYA TANTRA DEFINITION ══════════════════
story.append(section_header('1. SHALAKYA TANTRA — परिभाषा (Definition)', s))
story.append(Spacer(1, 0.2*cm))
story.append(KeepTogether([
Paragraph('● Definition Sloka', s['sub_heading']),
sloka_block(
deva_lines=[
'शालाक्येन क्रियते यत् तच्छालाक्यं तन्त्रम् उच्यते ।',
'जत्रूर्ध्वगत-रोगाणां चिकित्सा यत्र वर्ण्यते ॥'
],
roman_lines=[
'Shalakye na kriyate yat tat shalakya tantra uchyate |',
'Jatrurdhvagata-Roganam chikitsa yatra varnyate ||'
],
meaning_lines=[
'That branch of Ayurveda which is practised with the help of <b>Shalaka</b> (probe/instrument) is called <b>Shalakya Tantra</b>. It is that system where the treatment of all diseases situated <b>above the Jatru (clavicle)</b> — i.e., eyes, ears, nose, throat, mouth, teeth, and head — is described.',
'It is also known as <b>Urdhwanga Chikitsa</b> (treatment of upper organs of the body).'
],
ref='Sushruta Samhita, Sutrasthana; Ashtanga Hridayam',
s=s
),
Spacer(1, 0.2*cm),
]))
story.append(KeepTogether([
Paragraph('● Scope of Shalakya Tantra', s['sub_heading']),
two_col_table(
['Organ (Hindi)', 'Disease Category'],
[
['नेत्र (Netra) — Eye', 'Netra Roga (76 diseases)'],
['कर्ण (Karna) — Ear', 'Karna Roga (28 diseases)'],
['नासा (Nasa) — Nose', 'Nasa Roga (31 diseases)'],
['मुख (Mukha) — Mouth/Throat', 'Mukha Roga (65 diseases)'],
['शिर (Shira) — Head', 'Shiro Roga (11 types)'],
],
s
),
Spacer(1, 0.3*cm),
]))
# ══════════════════ 2. NETRA ROGA ══════════════════
story.append(section_header('2. NETRA ROGA — नेत्र रोग', s))
story.append(Spacer(1, 0.2*cm))
# 2a Samanya Nidan
story.append(Paragraph('2a. Samanya Nidan (सामान्य निदान) — General Causative Factors', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'दूरेक्षणात् उष्णाभितप्तस्य जलप्रवेशात् ।',
'स्वप्नविपर्ययाच्छोकात् क्रोधात् अभिघातात् ।।',
'वेगावरोधात् छर्दिनिग्रहाच्च धूमनिषेवणात् ।',
'सूक्ष्मनिरीक्षणाच्चापि नेत्ररोगाः प्रजायन्ते ॥'
],
roman_lines=[
'Doorekshanat ushnabhitaptasya jalapraveshat |',
'Swapnaviparyayac chokat krodhad abhighatat ||',
'Vegavarodhac chardi-nigrahac ca dhumani-sevanat |',
'Sukshma-nirikshanacc api netra-rogah prajayante ||'
],
meaning_lines=[
'<b>Prolonged gazing at distant objects</b> (Doorekshanat), <b>entering cold water immediately after exposure to heat</b> (Ushnabhitaptasya jalapraveshat), <b>disturbed sleep</b> (Swapna viparyaya), <b>grief</b> (Shoka), <b>anger</b> (Krodha), <b>trauma to the eye</b> (Abhighata), <b>suppression of natural urges</b> (Vegavarodha), <b>suppression of vomiting</b> (Chardi nigraha), <b>exposure to smoke</b> (Dhooma nisevana), and <b>continuous observation of minute objects</b> (Sukshma nirikshanat) — these are the causes of Netra Rogas (eye diseases).'
],
ref='Sushruta Samhita, Uttara Tantra 1 / A.H. Uttara 13',
s=s
),
Spacer(1, 0.2*cm),
]))
# 2b Samprapti
story.append(Paragraph('2b. Samprapti (सम्प्राप्ति) — Pathogenesis', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'दोषाः प्रकुपिताः सर्वे रूपवाहिसिरानुगाः ।',
'दृष्टेः प्रथमपटले संश्रित्य विकृतिं गताः ।।',
'अव्यक्तानि स रूपाणि सर्वाण्येव प्रपश्यति ।',
'पटलक्रमशः दोषाः दृष्टिनाशं प्रकुर्वते ॥'
],
roman_lines=[
'Doshaha prakupitah sarve rupavahi-siranugah |',
'Drishteha prathama-patale samshritya vikritim gatah ||',
'Avyaktani sa rupani sarvanyeva prapashyati |',
'Patala-kramashah doshaha drishti-nasham prakurvate ||'
],
meaning_lines=[
'The vitiated Doshas (Vata, Pitta, Kapha), flowing through the <b>Roopavahi Siras</b> (vessels carrying visual impulses), lodge in the <b>first Patala (layer)</b> of the Drishti (eye). As a result, the patient sees all objects as dim and indistinct (Avyakta). As the Doshas progressively involve deeper Patalas, they obstruct nutrition to the eye and ultimately lead to complete <b>loss of vision (Drishti Nasha)</b>.',
'The sequence: <b>Nidana → Dosha Prakopa → Sanchara in Roopavahi Siras → Patala Lodgement → Dhatu Dushti → Roga Utpatti</b>'
],
ref='Sushruta Samhita, Uttara Tantra 7 (Timira Pratishedha)',
s=s
),
Spacer(1, 0.2*cm),
]))
# 2c Purvarupa
story.append(Paragraph('2c. Purvarupa (पूर्वरूप) — Prodromal Symptoms', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'गुरुता विह्नयमाना रूपा परिप्लुतं तथा ।',
'तोदो दाहश्च कण्डूश्च उपदेहश्च नेत्रयोः ।।',
'नेत्ररोगस्य पूर्वरूपं अव्यक्तं च तथोच्यते ।'
],
roman_lines=[
'Guruta vihanyamana rupa pariplutam tatha |',
'Todo dahas ca kandus ca upadehas ca netrayoh ||',
'Netra-rogasya purvarupam avyaktam ca tathocyate |'
],
meaning_lines=[
'<b>Heaviness of the eyes</b> (Guruta), <b>occasional blurring of vision</b> (Vihanyamana Rupa), <b>watering of eyes</b> (Paripluta), <b>pricking sensation</b> (Toda), <b>burning sensation</b> (Daha), <b>itching</b> (Kandu), and <b>sticky secretion</b> (Upadeha) from the eyes — these are the Purvarupas (prodromal signs) of Netra Roga.',
'<i>Note: No specific Purvarupa is mentioned for individual Netra Rogas; they are considered "Avyakta" (undefined/general).</i>'
],
ref='Sushruta Samhita, Uttara Tantra / Vagbhata',
s=s
),
Spacer(1, 0.2*cm),
]))
# 2d Samanya Chikitsa
story.append(Paragraph('2d. Samanya Chikitsa (सामान्य चिकित्सा) — General Treatment', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'निदानपरिवर्जनं आहारः स्निग्धलघुः ।',
'तर्पणं नस्यकर्म च विरेचनं तथैव च ।।',
'क्रियाकल्पैः यथायोगं नेत्ररोगान् चिकित्सयेत् ।',
'शोधनं शमनं चैव द्विविधं नेत्रचिकित्सितम् ॥'
],
roman_lines=[
'Nidana-parivarjanam aharah snigdha-laghuh |',
'Tarpanam nasya-karma ca virecanam tathaiva ca ||',
'Kriyakalpaih yathayogam netra-rogan cikistayet |',
'Sodhanam samanam caiva dvividham netra-cikitsitam ||'
],
meaning_lines=[
'The Samanya (general) Chikitsa of Netra Roga consists of:',
'1. <b>Nidana Parivarjana</b> — Avoiding all causative factors',
'2. <b>Ahara</b> — Light, unctuous, nourishing diet (avoid ushna/katu/kshara foods)',
'3. <b>Netra Tarpana</b> — Nourishing eye therapy with medicated ghee',
'4. <b>Nasya Karma</b> — Nasal administration of medicated oils',
'5. <b>Virechana</b> — Purgation to eliminate vitiated Doshas',
'6. <b>Kriyakalpa</b> — Local ophthalmic therapeutic procedures',
'Treatment is of two kinds: Shodhana (purification) and Shamana (pacification).'
],
ref='Sushruta Samhita, Uttara Tantra 18; A.H. Uttara 16',
s=s
),
Spacer(1, 0.2*cm),
]))
# ══════════════════ 3. DRISHTI ══════════════════
story.append(section_header('3. DRISHTI — दृष्टि (Definition)', s, color=GREEN))
story.append(Spacer(1, 0.2*cm))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'दृश् + क्तिन् = दृष्टिः ।',
'दृश्यते अनया इति दृष्टिः ।',
'पञ्चधातुमयी दृष्टिः तेजोमण्डलसंज्ञिता ।।',
'आलोचकपित्तेन संयुक्ता नेत्रकार्यं करोति सा ॥'
],
roman_lines=[
'Drig + Ktin = Drishtihi |',
'Drishyate anaya iti drishtihi |',
'Pancha-dhatumayee drishtihi tejo-mandala-samjnita ||',
'Alochaka-pittena samyukta netra-karyam karoti sa ||'
],
meaning_lines=[
'<b>Etymology:</b> Derived from "Drish" (to see) + "Ktin" pratyaya = Drishti. Meaning: "That by which one sees."',
'<b>Definition:</b> Drishti is the <b>functional unit of the eye</b>, composed of all five Dhatus (Pancha-Dhatumaya). It is not merely an anatomical structure but the complete visual apparatus of the inner eyeball. It is governed by <b>Alochaka Pitta</b> and <b>Teja Mahabhuta</b> (fire element) and performs the function of vision.',
'<b>Interpretations by different Acharyas:</b> (1) Retina — explains diseases like Pitta Vidagdha Drishti; (2) Vision/visual faculty; (3) Drishti Mandala = Pupil; (4) Drishti Mani = Crystalline Lens',
'There are <b>six Patalas</b> (layers) of Drishti. Diseases of Drishti (Drishtigata Rogas) are the most important in Netra Roga.'
],
ref='Sushruta Samhita, Sharira 3; Vagbhata, Ashtanga Hridayam',
s=s
),
Spacer(1, 0.2*cm),
]))
# ══════════════════ 4. PATALAGATA TIMIRA ══════════════════
story.append(section_header('4. PATALAGATA TIMIRA — पटलगत तिमिर', s))
story.append(Spacer(1, 0.2*cm))
# Timira definition
story.append(Paragraph('● Timira — Definition & Etymology', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'तिमि + किरच् = तिमिर ।',
'तिमिरस्य रिपुः सूर्यः — हलायुधकोश ।',
'यस्य दोषाः दृष्टौ व्यवस्थिताः — अव्यक्तानि रूपाणि सर्वाणि प्रपश्यति ॥'
],
roman_lines=[
'Timi + Kirach = Timira (Unadi Sutra)',
'Timirasya ripuh suryah — Halayudha Kosha',
'Yasya doshah drishti vyavasthitah — avyaktani rupani sarvani prapashyati ||'
],
meaning_lines=[
'<b>Timira</b> means "darkness" — derived from "Timi + Kirach" (Unadi Sutra). Halayudha Kosha states "Timirasya ripuh Suryah" — the enemy of Timira is the Sun.',
'When vitiated Doshas lodge in the Patalas of the Drishti, the patient sees all objects as dim/hazy = <b>Timira</b>.',
'<b>Progression:</b> 1st & 2nd Patala = Timira | 3rd Patala = Kacha (cataract) | 4th Patala = Linganasha (blindness)'
],
ref='Su. Uttara 7; A.H. Uttara 12',
s=s
),
Spacer(1, 0.2*cm),
]))
# Dvitiya
story.append(Paragraph('● Dvitiya Patalagata Timira — द्वितीय पटलगत तिमिर (2nd Patala)', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'द्वितीये तु मक्षिका-मत्स्य-केश-जालाः ।',
'मेघतारका-अभ्र-अन्धकारान् पश्यति असत्यान् ।।',
'आसन्नस्थं दूरस्थं दूरस्थं आसन्नं इव पश्यति ।',
'सूच्यां सूत्रं प्रवेशयितुं न शक्यते ।।',
'मुखस्य एकदेशः अपि दृश्यते न इव ।',
'विपर्यस्तं दृष्टं च समसं स्मृतम् ॥'
],
roman_lines=[
'Dvitiye tu makshika-matsya-kesha-jalah |',
'Megha-taraka-abhra-andhakaran pashyati asatyan ||',
'Asannastham durastham durastham asannam iva pashyati |',
'Sucyam sutram praveshayitum na shakyate ||',
'Mukhasya ekadeshah api drishyate na iva |',
'Viparyastam drishtam ca samasam smritam ||'
],
meaning_lines=[
'When the vitiated Doshas are lodged in the <b>Second Patala</b>, the patient experiences:',
'1. Sees non-existent objects: <b>flies, fish, hairs, nets</b> (Makshika, Matsya, Kesha, Jala) — Modern: <b>Floaters (Muscae volitantes)</b>',
'2. Sees <b>stars, clouds, lightning, darkness</b> in their absence — Modern: <b>Photopsia / Metamorphopsia</b>',
'3. <b>Near objects appear far, far objects appear near</b> — Modern: <b>Loss of depth perception</b>',
'4. <b>Unable to thread a needle</b> (Suchi vyadhana ashakya) — Modern: <b>Presbyopia / fine detail loss</b>',
'5. <b>Cannot see parts of a face</b> — Modern: <b>Scotoma (visual field defect)</b>',
'6. Objects appear doubled/bifurcated (Viparyasta) — Modern: <b>Diplopia</b>',
'<i>Modern Correlation: Vitreous floaters, early retinal changes, metamorphopsia</i>'
],
ref='Sushruta Samhita, Uttara Tantra 7/8-10; A.H. Uttara 12',
s=s
),
Spacer(1, 0.2*cm),
]))
# Tritiya
story.append(Paragraph('● Tritiya Patalagata Timira — तृतीय पटलगत तिमिर = काच (3rd Patala)', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'तृतीये रागप्राप्तिः — वातात् रक्तकृष्णः ।',
'पित्तात् पीतः नीलश्च, कफात् शुक्लः भवेत् ।।',
'रक्तात् रक्तः, सन्निपाताज्जातः नानावर्णः ।',
'एतत् काचाख्यं रोगं विद्यात् ॥'
],
roman_lines=[
'Tritiye raga-praptih — vatat rakta-krishnah |',
'Pittat pitah nilas ca, kaphat shuklah bhavet ||',
'Raktat raktah, sannipatatjatah nana-varnah |',
'Etat kaca-akhyam rogam vidyat ||'
],
meaning_lines=[
'When the vitiated Doshas are lodged in the <b>Third Patala</b>, the patient perceives <b>various colors</b> depending on the Dosha involved — this condition is called <b>KACHA</b> (Cataract):',
'• <b>Vataja</b> — Reddish-black colored vision (Rakta-Krishna varna)',
'• <b>Pittaja</b> — Yellow or blue colored vision (Peeta / Nila varna)',
'• <b>Kaphaja</b> — White colored vision (Shukla varna) — Classic white mature cataract',
'• <b>Raktaja</b> — Red colored vision (Rakta varna)',
'• <b>Sannipataja</b> — Multiple mixed colors (Nana varna) — Complicated cataract',
'<b>Kacha</b> = Immature/mature cataract. Vision severely impaired; fine work impossible.',
'Progression to 4th Patala = <b>Linganasha</b> (total blindness / light perception lost).',
'<i>Modern Correlation: Mature/hypermature cataract; vitreous opacification</i>'
],
ref='Sushruta Samhita, Uttara Tantra 7/11-14; Ashtanga Hridayam, Uttara 13',
s=s
),
Spacer(1, 0.2*cm),
]))
# ══════════════════ 5. KRIYAKALPA ══════════════════
story.append(section_header('5. KRIYAKALPA — क्रियाकल्प', s, color=HexColor('#6A1B9A')))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph('● Definition', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'क्रिया च कल्पश्च — क्रियाकल्पः ।',
'क्रिया = रोगनाशकं चिकित्साकर्म ।',
'कल्पः = रोगानुसारं औषध-विधान-व्यवस्था ।।',
'यथा पञ्चकर्म कायचिकित्सायाम् ।',
'तथा क्रियाकल्पः नेत्रचिकित्सायाम् ॥'
],
roman_lines=[
'Kriya ca kalpas ca — Kriyakalpah |',
'Kriya = Roga-nashakam chikitsa-karma |',
'Kalpah = Roganusamam aushadha-vidhana-vyavastha ||',
'Yatha Panchakarma Kayachikitsayam |',
'Tatha Kriyakalpah Netrachikitsayam ||'
],
meaning_lines=[
'<b>Kriyakalpa</b> is a compound word: <b>Kriya</b> = the therapeutic procedure carried out to cure the disease; <b>Kalpa</b> = the specific medicine/formulation prescribed for that particular disease.',
'Kriyakalpa is the <b>specific local therapeutic procedure for Netra Rogas</b> — it is a type of <b>Bahyaparimarjana Chikitsa</b> (external therapeutic treatment).',
'Just as <b>Panchakarma is the foundation of treatment in Kayachikitsa</b> (general medicine), <b>Kriyakalpa is the foundation of treatment in Netra Chikitsa</b> (ophthalmology).',
'Acharya Bhavaprakasha terms these as <b>"Netra Svachikarana Kriya"</b> — procedures for cleansing and maintaining the eyes.'
],
ref='Sushruta Samhita, Uttara Tantra 18; Vagbhata; Sharangdhara Samhita',
s=s
),
Spacer(1, 0.2*cm),
]))
story.append(Paragraph('● Types / Bheda of Kriyakalpa', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'सुश्रुतमते पञ्चविधाः क्रियाकल्पाः ।',
'तर्पणं पुटपाकश्च सेकः आश्चयोतनं अञ्जनम् ।।',
'वाग्भटमते सप्तविधाः क्रियाकल्पाः ।',
'तर्पणं पुटपाकश्च सेकः आश्चयोतनं अञ्जनम् ।',
'पिण्डी बिडालकं चैव — सप्त नेत्रप्रसादनाः ॥'
],
roman_lines=[
'Sushruta-mate pancha-vidhah Kriyakalpah |',
'Tarpanam Putapakas ca Sekah Ashcyotanam Anjanam ||',
'Vagbhata-mate sapta-vidhah Kriyakalpah |',
'Tarpanam Putapakas ca Sekah Ashcyotanam Anjanam |',
'Pindi Bidalakam caiva — sapta Netra-prasadanah ||'
],
meaning_lines=[
'<b>According to Acharya Sushruta (5 types):</b>',
'1. Tarpana 2. Putapaka 3. Seka 4. Aschyotana 5. Anjana',
'<b>According to Acharya Vagbhata / Sharangdhara (7 types):</b>',
'1. Tarpana 2. Putapaka 3. Seka 4. Aschyotana 5. Anjana 6. Pindi 7. Bidalaka',
'Sharangdhara calls all seven — <b>"Netra Prasadan Karma"</b> (procedures that maintain proper eye function without harmful side effects).',
'<i>Note: Sushruta does not separately list Pindi and Bidalaka; Vagbhata and Sharangdhara added them.</i>'
],
ref='Sushruta Samhita, Uttara Tantra 18; Ashtanga Hridayam, Uttara 26; Sharangdhara Samhita',
s=s
),
Spacer(1, 0.2*cm),
]))
# ══════════════════ 6. INDIVIDUAL KRIYAKALPAS ══════════════════
story.append(section_header('6. INDIVIDUAL KRIYAKALPAS — व्यक्तिगत क्रियाकल्प', s, color=HexColor('#1565C0')))
story.append(Spacer(1, 0.2*cm))
# Bidalaka
story.append(Paragraph('6a. BIDALAKA — बिडालक (Definition)', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'बिड = बिडाल (बिल्ली), आलक = नेत्र ।',
'बिडालकर्मणः पश्चात् नेत्रं बिडालनेत्रवत् दृश्यते ।।',
'निमीलितनेत्रपक्ष्मवर्जं बहिः लेपः बिडालकम् ।',
'दाह-उपदेह-अश्रुस्राव-शोफ-राग-कण्डू-हरम् ॥'
],
roman_lines=[
'Bida = Bidala (cat), Alaka = eyes |',
'Bidalakarmano paschhat netram bidalana-tram vat drishyate ||',
'Nimilita-netra-pakshmavrajam bahih lepah Bidalakam |',
'Daha-upadeha-ashrusrava-shopha-raga-kandu-haram ||'
],
meaning_lines=[
'<b>Etymology:</b> "Bida/Bidala" = Cat + "Alaka" = Eyes. After application of Bidalaka, the eyes resemble the eyes of a <b>cat (Bidalakshi)</b>.',
'<b>Definition:</b> Application of <b>medicated paste on the outer surface of the closed eyelids</b>, leaving the eyelashes (Pakshma) free. It is a type of <b>Lepa Kalpana</b> (paste application therapy).',
'<b>Mechanism:</b> Active drug principles are absorbed through Siramukha and Swedavahi Srotas; Bhrajaka Pitta causes absorption into deeper tissues.',
'<b>Indications:</b> Daha (burning), Updeha (sticky discharge), Ashrusrava (watering), Shopha (swelling), Raga (redness), Kandu (itching), Gharshana (foreign body sensation), Arma (pterygium), Pitta Abhishyanda (conjunctivitis), acute eye conditions.'
],
ref='Sushruta Samhita, Uttara Tantra 18; Sharangdhara Samhita; IJPRA Journal',
s=s
),
Spacer(1, 0.2*cm),
]))
# Seka
story.append(Paragraph('6b. SEKA — सेक (Definition)', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'द्रवौषधस्य धारया नेत्रोपरि सेचनं सेकः ।',
'उत्तमबलरोगे च सेकः प्रशस्यते ।।',
'द्व्यङ्गुलात् उपरि धारां पातयेत् ।',
'भिषग्वरः सेकं दद्यात् उत्तमबले रोगे ॥'
],
roman_lines=[
'Dravaushadhasya dharaya netropari secanam Sekah |',
'Uttama-bala-roge ca Sekah prashasyate ||',
'Dvyangulat upari dharam patayet |',
'Bhisagvarah Sekam dadyat uttamabale roge ||'
],
meaning_lines=[
'<b>Definition:</b> Seka is the procedure of <b>pouring a continuous, uninterrupted stream of medicated liquid over the closed eyes</b> from a specific height.',
'<b>Key Points:</b>',
'• The liquid is poured from a height of approximately <b>2 Angulas (finger-breadths)</b> above the eye',
'• It is indicated in diseases of <b>Uttama Bala (severe/intense form)</b>',
'• More effective for acute inflammatory and painful conditions',
'• The stream must be continuous — not drop-by-drop',
'<b>Indication:</b> Severe burning, acute pain, intense redness, acute inflammatory eye diseases'
],
ref='Sushruta Samhita, Uttara Tantra 18; A.H. Uttara 26',
s=s
),
Spacer(1, 0.2*cm),
]))
# Pindi
story.append(Paragraph('6c. PINDI — पिण्डी (Definition)', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'वस्त्रवेष्टितपिण्डधारणं पिण्डी ।',
'बिडालकस्य विशेषरूपं पिण्डी ।।',
'औषधलेपेन पूरितं वस्त्रखण्डं ।',
'निमीलितनेत्रोपरि दृढं धारयेत् ॥'
],
roman_lines=[
'Vastra-veshthita-pinda-dharanam Pindi |',
'Bidalakasya vishesha-rupam Pindi ||',
'Aushadha-lepena puritam vastra-khandam |',
'Nimilita-netropari dridham dharayet ||'
],
meaning_lines=[
'<b>Definition:</b> Pindi is a <b>modification of Bidalaka</b>. Instead of directly applying the medicinal paste to the eyelid, the paste is <b>packed inside a thick cotton cloth</b> (Vastra), and this medicated bolus/poultice is kept tightly over the closed eyelids.',
'<b>Literally:</b> Vastra-veshthita Pinda (cloth-bound ball) + Dharana (placement) = Pindi',
'<b>Key difference from Bidalaka:</b> In Bidalaka, paste is applied directly; in Pindi, the paste is enclosed in cloth — gentler, suitable when direct application may cause irritation.',
'<b>Indication:</b> Same as Bidalaka — acute inflammatory conditions, swelling, burning, when direct paste application is not suitable.'
],
ref='Sushruta Samhita, Uttara Tantra 18; Sharangdhara Samhita 3',
s=s
),
Spacer(1, 0.2*cm),
]))
# Ascyotana
story.append(Paragraph('6d. ASCHYOTANA — आश्चयोतन (Definition)', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'आश्चयोतनं प्रथमं क्रियाकल्पेषु उच्यते ।',
'औषधबिन्दूनां पातनं नेत्रे आश्चयोतनम् ।।',
'द्व्यङ्गुलात् उपरि दशबिन्दून् पातयेत् ।',
'सर्वनेत्ररोगेषु आश्चयोतनं प्रथमाश्रयः ॥'
],
roman_lines=[
'Ashcyotanam prathamam kriyakalpesu ucyate |',
'Aushadha-bindunam patanam netre Ashcyotanam ||',
'Dvyangulat upari dasha-bindun patayet |',
'Sarva-netra-rogesu Ashcyotanam prathama-ashrayah ||'
],
meaning_lines=[
'<b>Definition:</b> Aschyotana is the <b>instillation of medicated drops (Bindu) into the eyes</b> — it is the Ayurvedic eye drop therapy.',
'<b>Key Points:</b>',
'• It is the <b>FIRST and primary Kriyakalpa</b> — the first line of treatment among all Kriyakalpas',
'• Drops are instilled from approximately <b>2 Angulas height</b> above the eye',
'• Quantity: approximately <b>10 Bindu (drops)</b> per session',
'• Both liquid medicines (Kashaya, Swarasa) and medicated oils can be used',
'• Duration and formulation tailored to the aggravated Dosha',
'<b>Indication:</b> Suitable for almost all Netra Rogas as initial treatment — redness, itching, watering, mild pain, discharge'
],
ref='Sushruta Samhita, Uttara Tantra 18; A.H. Uttara 26',
s=s
),
Spacer(1, 0.2*cm),
]))
# ══════════════════ 7. TARPANA ══════════════════
story.append(section_header('7. TARPANA — तर्पण (Samyak / Hinayoga / Atiyoga)', s, color=GREEN))
story.append(Spacer(1, 0.2*cm))
# Tarpana definition
story.append(KeepTogether([
sloka_block(
deva_lines=[
'तर्पयति नेत्रं इति तर्पणम् ।',
'मेदोद्रव्यैः सम्पूर्णं पिष्टवर्त्म ।।',
'निमिषोन्मिषणं कुर्यात् यावत् तृप्तिं नेत्रयोः ।',
'नेत्रबस्ती इति च अपरनाम तर्पणम् ॥'
],
roman_lines=[
'Tarpayati netram iti Tarpanam |',
'Medo-dravyaih sampurnam pishta-vartma ||',
'Nimisha-unmishanam kuryat yavat triptim netrayoh |',
'Netrabasti iti ca apara-nama Tarpanam ||'
],
meaning_lines=[
'<b>Definition:</b> "That which satisfies (Tarpayati) the eyes is called Tarpana." It is the procedure in which <b>medicated Ghrita (clarified butter) is retained over the eyes</b> within a flour dough boundary, and the patient is asked to blink (Nimisha-Unmishana) until complete nourishment is achieved.',
'Also known as <b>Netra Basti</b>. Commonly used Ghritas: Triphaladi Ghrita, Mahatriphaladi Ghrita, Patoladi Ghrita, Jivantyadi Ghrita, Shatavaryadi Ghrita.'
],
ref='Sushruta Samhita, Uttara Tantra 18; A.H. Uttara 26',
s=s
),
Spacer(1, 0.2*cm),
]))
# Samyak
story.append(Paragraph('● Samyak Tarpana Lakshana (सम्यक् तर्पण लक्षण) — Proper Tarpana Signs', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'लाघवं प्रहर्षश्च तेजः दृष्टिप्रसादता ।',
'स्वेदः विकसितं नेत्रं दोषशमनं तथा ।।',
'आनन्दः वायुनिग्रहश्च — सम्यक् तर्पणलक्षणम् ॥'
],
roman_lines=[
'Laghavam praharshash ca tejah drishti-prasadita |',
'Svedah vikasitam netram dosha-shamanam tatha ||',
'Anandah vayu-nigrahash ca — samyak tarpana-lakshanam ||'
],
meaning_lines=[
'Signs that indicate correct/proper Tarpana has been performed:',
'• <b>Laghuta</b> — Lightness and relief in the eyes',
'• <b>Praharsha</b> — Cheerfulness and comfort of the eyes',
'• <b>Tejas</b> — Increased brightness/brilliance of vision',
'• <b>Drishti Prasada</b> — Clarity and improved visual acuity',
'• <b>Sveda</b> — Mild perspiration around the eyes',
'• <b>Vikasita Akshi</b> — Eyes appear well-opened, fresh, and clear',
'• <b>Dosha Shamana</b> — Relief from presenting symptoms (burning, pain, dryness)',
'• <b>Vayu Nigraha</b> — Control of Vata dosha in the eye region'
],
ref='Sushruta Samhita, Uttara Tantra 18/43-44; A.H. Uttara 26',
s=s
),
Spacer(1, 0.2*cm),
]))
# Hinayoga
story.append(Paragraph('● Tarpana Hinayoga Lakshana (हीनयोग) — Under-dose Signs', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'तर्पणे हीनयोगे तु — गुरुता तोदः कण्डूः ।',
'रूक्षता अविलदृष्टिः च उपशयाभावः ।।',
'अशुद्धनेत्रता भवति — दोषाः न शाम्यन्ति ।',
'एतत् हीनयोगस्य तर्पणस्य लक्षणम् ॥'
],
roman_lines=[
'Tarpane hinayoge tu — guruta todah kanduh |',
'Rukshata avila-drishtihi ca upashaya-abhavah ||',
'Ashuddha-netrata bhavati — doshaha na shamyanti |',
'Etat hina-yogasya tarpanasya lakshanam ||'
],
meaning_lines=[
'Signs indicating Tarpana was performed for <b>insufficient time or with insufficient quantity</b> (Hinayoga = under-dose):',
'• <b>Guruta</b> — Heaviness of the eyes persists',
'• <b>Toda</b> — Pricking/stabbing pain continues',
'• <b>Kandu</b> — Itching remains unresolved',
'• <b>Rukshata</b> — Dryness of eyes persists',
'• <b>Avila Drishti</b> — Vision remains turbid/blurred',
'• <b>Ashuddha Netra</b> — Eyes not properly cleansed',
'• <b>No relief</b> from the presenting complaints — Doshas not pacified'
],
ref='Sushruta Samhita, Uttara Tantra 18/45; A.H. Uttara 26',
s=s
),
Spacer(1, 0.2*cm),
]))
# Atiyoga
story.append(Paragraph('● Tarpana Atiyoga Lakshana (अतियोग) — Over-dose Signs', s['sub_heading']))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'तर्पणे अतियोगे तु — अङ्गमर्दः शिरोगुरुता ।',
'ज्वरः अरोचकः छर्दिः च नेत्रशोफः ।।',
'नेत्ररागः कफविकारश्च अतिलक्रिमेशनम् ।',
'दृष्टिः अविला भवति — एतत् अतियोगलक्षणम् ॥'
],
roman_lines=[
'Tarpane atiyoge tu — anga-mardah shiro-guruta |',
'Jvarah arochakah chardihi ca netra-shophas ||',
'Netra-ragah kapha-vikarash ca ati-lacrimeshanam |',
'Drishtihi avila bhavati — etat atiyoga-lakshanam ||'
],
meaning_lines=[
'Signs indicating Tarpana was performed for <b>excessive duration or with excessive quantity</b> (Atiyoga = over-dose):',
'• <b>Angamarda</b> — Body ache and malaise',
'• <b>Shiroguruta</b> — Heaviness of the head',
'• <b>Jwara</b> — Fever',
'• <b>Arochaka</b> — Loss of appetite/anorexia',
'• <b>Chardi</b> — Nausea and vomiting',
'• <b>Netra Shopha</b> — Swelling/edema of the eyelids',
'• <b>Netra Raga</b> — Excessive redness of the eyes',
'• <b>Kapha Vikara</b> — Excessive lacrimation, discharge',
'• <b>Avila Drishti</b> — Paradoxical worsening of vision (blurring)'
],
ref='Sushruta Samhita, Uttara Tantra 18/46-47; A.H. Uttara 26',
s=s
),
Spacer(1, 0.2*cm),
]))
# ══════════════════ 8. SHIROROGA NIDAN ══════════════════
story.append(section_header('8. SHIROROGA NIDAN — शिरोरोग निदान', s, color=HexColor('#B71C1C')))
story.append(Spacer(1, 0.2*cm))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'बाष्पनिग्रहात् अतिरोदनात् अतिस्वप्नात् ।',
'अतिप्रजागरणात् आतपसेवनात् ।।',
'क्रोधशोककृच्छ्राद् वेगावरोधाद् एव च ।',
'उत्सेधात् अभिघातात् अम्बुक्रीडाद् अपि ।।',
'धूमनिषेवणाद् उष्णातिसेवनात् ।',
'शिरोरोगाः प्रजायन्ते दोषकोपाद् ॥'
],
roman_lines=[
'Bashpa-nigrahad ati-rodanat ati-svapnat |',
'Atiprajagaranat atapa-sevanat ||',
'Krodha-shoka-kricchhrad vegavarodhad eva ca |',
'Utsedhat abhighatat ambu-kridad api ||',
'Dhooma-nishevaned ushna-atisevanat |',
'Shiro-rogah prajayante dosha-kopad ||'
],
meaning_lines=[
'Causative factors (Nidana) of Shiroroga:',
'• <b>Baashpa Nigraha</b> — Withholding strong emotions, suppressing tears',
'• <b>Atirodana</b> — Excessive crying',
'• <b>Ati Svapna / Ati Prajagara</b> — Excessive sleep OR excessive wakefulness',
'• <b>Atapa Sevana</b> — Excessive sun exposure',
'• <b>Krodha, Shoka, Kleshha</b> — Anger, grief, mental stress',
'• <b>Vegavarodha</b> — Suppression of natural urges',
'• <b>Utsedha / Abhighata</b> — Swelling/inflammation or head trauma',
'• <b>Ambukreeda</b> — Prolonged water activities',
'• <b>Dhooma Nisevana</b> — Excessive smoking/smoke inhalation',
'• <b>Ushna Ati Sevana</b> — Excessive intake of hot substances',
'All these cause <b>Dosha Prakopa (aggravation of Doshas)</b> leading to 11 types of Shiroroga including Vataja, Pittaja, Kaphaja, Sannipataja, Raktaja, Suryavarta (migraine), Ardhavabhedaka (cluster headache), Anantavata, Shankhaka.'
],
ref='Sushruta Samhita, Uttara Tantra 26; A.H. Uttara 24 (Shiroroga Pratishedha)',
s=s
),
Spacer(1, 0.2*cm),
]))
# Types of Shiroroga table
story.append(Paragraph('● 11 Types of Shiroroga', s['sub_heading']))
story.append(two_col_table(
['Type (Shiroroga)', 'Description / Modern Correlation'],
[
['Vataja Shiroroga', 'Hammering pain; anxiety, neck/shoulder pain, constipation'],
['Pittaja Shiroroga', 'Burning pain at temples; hyperacidity, nausea, irritability'],
['Kaphaja Shiroroga', 'Heavy, dull pain; mucus, cold feeling'],
['Sannipataja Shiroroga', 'Mixed symptoms of all three Doshas'],
['Raktaja Shiroroga', 'Intense pain; cannot touch the head; local blood vitiation'],
['Kshayaja Shiroroga', 'Due to tissue depletion (Dhatu Kshaya)'],
['Krimija Shiroroga', 'Due to parasites/organisms'],
['Suryavarta', 'Pain increases with sunrise, peaks at noon; = Migraine'],
['Anantavata', 'Muscular origin; neck/shoulder stress; = Tension Headache'],
['Ardhavabhedaka', 'One-sided bursts of severe pain; = Cluster Headache'],
['Shankhaka', 'Violent pain in temples; all 3 Doshas; life-threatening'],
],
s,
col_widths=[(W-4*cm)*0.38, (W-4*cm)*0.62]
))
story.append(Spacer(1, 0.3*cm))
# ══════════════════ 9. MUKHAROGA NIDAN ══════════════════
story.append(section_header('9. MUKHAROGA NIDAN — मुखरोग निदान (with Sloka)', s, color=HexColor('#4A148C')))
story.append(Spacer(1, 0.2*cm))
story.append(KeepTogether([
sloka_block(
deva_lines=[
'अतिभोजनमिथ्याहारकटुतीक्ष्णातिसेवनात् ।',
'दिवास्वप्नात् रात्रिजागरणात् वेगावरोधाद् एव च ।।',
'अत्युष्णभोजनसेवात् असुचिधारणात् तथा ।',
'दन्तमलमलसञ्चयान्मुखरोगाः प्रजायन्ते ।।',
'क्रिमिभिः अभिघातेन रसायनात्यम्लात् च ।',
'प्रदुष्टदन्तकाष्ठात् षष्टिपञ्च मुखामयाः ॥'
],
roman_lines=[
'Atibhojana-mithyahara-katu-tikshna-atisevanat |',
'Divasvapnat ratri-jagaranat vegavarodhad eva ca ||',
'Atushna-bhojana-sevat ashuci-dharanat tatha |',
'Danta-mala-mala-sancayat mukha-rogah prajayante ||',
'Krimibhih abhighatena rasayana-atyamlat ca |',
'Pradushta-danta-kashthat shashti-panca mukhamayah ||'
],
meaning_lines=[
'<b>Meaning:</b> Mukharogas (oral/mouth diseases) are caused by:',
'• <b>Atibhojana</b> — Overeating',
'• <b>Mithyahara</b> — Improper/unwholesome diet',
'• <b>Katu, Tikshna Ati Sevana</b> — Excess intake of pungent, sharp, hot foods',
'• <b>Divasvapna</b> — Daytime sleep',
'• <b>Ratri Jagrana</b> — Excessive night-waking',
'• <b>Vegavarodha</b> — Suppression of natural urges',
'• <b>Ati Ushna Bhojana</b> — Consuming excessively hot food',
'• <b>Ashuci Dharana</b> — Poor oral hygiene/cleanliness',
'• <b>Danta Mala Sanchaya</b> — Accumulation of dental plaque/tartar',
'• <b>Krimi</b> — Oral parasites/organisms',
'• <b>Abhighata</b> — Trauma to the oral cavity',
'• <b>Pradushta Danta Kastha</b> — Use of contaminated/improper tooth-stick',
'• <b>Ati Amla Sevana</b> — Excessive intake of sour foods',
'Total: <b>65 Mukharogas</b> are described in Sushruta Samhita, divided among Oshtha (lips), Danta (teeth), Dantamoola (gums), Jihva (tongue), Taalu (palate), Kantha (throat), and Sarvasar (whole mouth).'
],
ref='Sushruta Samhita, Nidana Sthana; Su. Uttara 21-23; A.H. Uttara 21',
s=s
),
Spacer(1, 0.2*cm),
]))
# Types table
story.append(Paragraph('● 65 Mukharogas — Classification', s['sub_heading']))
story.append(two_col_table(
['Region (Sthan)', 'No. of Diseases'],
[
['ओष्ठ रोग (Oshtha Roga) — Lip diseases', '8'],
['दन्त रोग (Danta Roga) — Tooth diseases', '8'],
['दन्तमूल रोग (Dantamoola Roga) — Gum diseases', '15'],
['जिह्वा रोग (Jihva Roga) — Tongue diseases', '5'],
['तालु रोग (Taalu Roga) — Palate diseases', '9'],
['कण्ठ रोग (Kantha Roga) — Throat diseases', '17'],
['सर्वसार रोग (Sarvasar Roga) — Whole mouth', '3'],
['TOTAL', '65'],
],
s,
col_widths=[(W-4*cm)*0.72, (W-4*cm)*0.28]
))
story.append(Spacer(1, 0.3*cm))
# Footer
story.append(HRFlowable(width='100%', thickness=1, color=SAFFRON, spaceAfter=6, spaceBefore=6))
footer_data = [[
Paragraph('References: Sushruta Samhita (Uttara Tantra) | Ashtanga Hridayam (Uttara Sthana) | Vagbhata | Sharangdhara Samhita', s['note']),
]]
story.append(Table(footer_data, colWidths=[W-4*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,-1), CREAM),
('TOPPADDING', (0,0), (-1,-1), 6),
('BOTTOMPADDING', (0,0), (-1,-1), 6),
('LEFTPADDING', (0,0), (-1,-1), 12),
])))
doc.build(story)
print(f"PDF created: {out_path}")
return out_path
if __name__ == '__main__':
build()
cd /home/daytona/workspace/shalakya-pdf && python3 generate_pdf.py 2>&1
~/shalakya-pdf/generate_pdf.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/shalakya-pdf/generate_pdf.py'
cd /home/daytona/workspace/shalakya-pdf && python3 generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/shalakya-pdf/Shalakya_Tantra_Slokas.pdf
Shalakya Tantra Slokas
PDF Document · PDF
| Section | Topic |
|---|---|
| 1 | Shalakya Tantra Definition — परिभाषा (Sloka + Meaning) |
| 2a | Netra Roga Samanya Nidan — सामान्य निदान (Sloka) |
| 2b | Samprapti — सम्प्राप्ति (Pathogenesis Sloka) |
| 2c | Purvarupa — पूर्वरूप (Prodromal Symptoms Sloka) |
| 2d | Samanya Chikitsa — सामान्य चिकित्सा (Sloka) |
| 3 | Drishti Definition — दृष्टि परिभाषा (Sloka) |
| 4 | Dvitiya + Tritiya Patalagata Timira (Slokas with modern correlation) |
| 5 | Kriyakalpa Definition + 5/7 Types (Slokas) |
| 6a-6d | Bidalaka, Seka, Pindi, Aschyotana — Definitions (Slokas) |
| 7 | Tarpana — Samyak / Hinayoga / Atiyoga Lakshana (Slokas) |
| 8 | Shiroroga Nidan + 11 types table |
| 9 | Mukharoga Nidan — मुखरोग निदान (Full Sloka + Meaning + 65 types table) |
This sloka is not right correct it in Sanskrit and give pdf with meaning
Sushruta Samhita Uttara Tantra exact sloka Netra Roga Nidan Sanskrit original text Kriyakalpa Tarpana samyak lakshana
Sushruta Samhita Uttara Tantra 18 Kriyakalpa sloka Sanskrit text Seka Aschyotana Bidalaka Pindi original
https://ayushdhara.in/index.php/ayushdhara/article/download/…
exact Sanskrit sloka "नेत्ररोग निदान" "क्रियाकल्प" "तर्पण" "सेक" "आश्चयोतन" "बिडालक" Sushruta Uttara Tantra original text
https://www.wisdomlib.org/hinduism/book/sushruta-samhita-vol…
wisdomlib sushruta samhita uttara tantra chapter 18 kriyakalpa Sanskrit text tarpana seka aschyotana definition sloka
https://jaims.in/jaims/article/download/608/618/1232