| Work / author / dates | The ode with the incipit «هُوَ الحُبُّ فَاسْلَمْ بِالحَشَا مَا الهَوَى سَهْلُ», 62 verses, metre ṭawīl, rhyme -lu (several poems of the Dīwān rhyme in lām, so it is named by its incipit) · Sharaf al-Dīn ʿUmar ibn al-Fāriḍ (576–632 AH / 1181–1235 CE). English title in the reader: «It Is Love». |
| Part added | Whole poem, 62 verses. Phase 1: base text, collation, commentary layer. Phase 2: analysis and roots, lexicon for the poem's roots, AI English (literal and readable), Quran references, companions, group display of the commentary. Not yet: audio, resonances, connections, search, an English of the commentaries. |
| Reader route | /read/ibn-al-farid-hubb · apparatus /read/ibn-al-farid-hubb/about · commentaries side by side /read/ibn-al-farid-hubb/commentaries. Public since 13 Oct 2026 (§11). |
| Status | published 13 Oct 2026 on the editor's instruction, with the vowelling labelled AI in the reader and on the About page · Text: the 1872 edition with the commentaries of al-Būrīnī and al-Nābulusī (Cairo), checked letter by letter against the Cairo 1889 print; not yet collated with G. Scattolin’s critical edition of the Dīwān (IFAO, 2004). · working edition; verse text read from the page images by AI (two independent readings compared); commentary of 14 key verses re-read from the page images by AI (opus), the rest shown as page images (FLAGS M); analysis by CAMeL with 50 roots corrected by hand; English by AI · spot-checked by AI (opus) against the 1872 page images and the 1889 reprint (FLAGS N, P, Q) · vowelling = AI reading (not checked by a person) · reviewed by: — (no person has checked the vowelling, the roots or the English) |
The poem opens with counsel to the would-be lover («it is love: keep your heart safe; passion is not easy», «live untouched by it»), then the poet's own confession («death in it is life»); it addresses the beloveds in the plural (vv. 13–20) and names Nuʿm (vv. 25–40); it speaks of censurers and rumour (vv. 47–54) and ends on constancy (vv. 57–62). That the beloved is divine is the commentators' reading; the reader shows their words and does not choose for the reader.
1. Witnesses
| Siglum | Witness | Kind | Vowelled? | Licence | Location |
|---|---|---|---|---|---|
| D | Sharḥ Dīwān Ibn al-Fāriḍ: the commentaries of Ḥasan al-Būrīnī (d. 1024/1615) and ʿAbd al-Ghanī al-Nābulusī (d. 1143/1731, his notes marked (ن)), compiled by Rushayd ibn Ghālib al-Daḥdāḥ; Cairo: al-Maṭbaʿa al-Miṣriyya, 1289/1872, part II. Verse lines on printed pp. 108–136, commentary on v. 62 to the top of p. 138. Each verse in bold, vowelled, in brackets, followed by the commentary; verses printed together share one. | standard commentary print | yes (verse lines) | PD (1872) | archive.org AAlexandrina-141241, PDF pp. 113–143 (printed page = PDF page − 5; image n = PDF page − 1). The scan is 1200 px wide; the item's PDF and jp2 files are no sharper. |
| O | OpenITI 0632SharafDinIbnFarid.Diwan.JK007590-ara1 (a Dīwān text, unvowelled, with a few notes on manuscript variants) | digital | no | CC BY-NC-SA 4.0 | github.com/OpenITI/0650AH; collation witness only (never the base) |
| E | Cairo 1306/1889, a reset reprint of the same compilation; the poem on printed pp. 86–109 (leaf n = printed page + 191) | check witness (spot-check, FLAGS N) | yes (verse lines) | PD (1889) | archive.org AAlexandrina-140352; scan 2144 px wide (type no larger than D's). Used to check D's letters and marks at 13 verses and the key-verse commentary's uncertain words; never the base |
| — | Not used: Cairo 1951 (diwanibnalfarid00ibnauoft, copyright unverified); Aldiwan (no licence, no scripted access). |
2. Base and why
D, as for the Khamriyya: public domain, vowelled in the verse lines, and it carries the two classical commentaries the Arabic tradition reads the Dīwān with. O is not a base: it joins words, drops letters, and is defective at vv. 31 and 50 (§3). Base D and O as collation witness only were the editor's decisions of 12 Oct 2026; the text is published hidden until a person spot-checks the vowelling.
3. Collation (scripts/ibn_al_farid_hubb/collate_witness.py)
- Letters only (O has no vowels). Full list with class and evidence:
data/sources/ibn-al-farid-hubb-collation.json. - Same 62 verses in the same order. 30 variants: 17 orthographic (word division where O runs words together: ودون اجتناء النحل, بحار الحب, السير عنه …; شيء/شئ; سعدى/سعدي; رضا/رضى; ما ال-/مال-) and 13 substantive** (vv. 2, 4, 12, 21, 24, 25, 30, 31, 33, 34, 47, 50, 52; v. 47 added in round 2, FLAGS §P-2, v. 30 in the dots pass, FLAGS §Q); 49 of the 62 verses have no substantive variant.
- O defective: at v. 31 O gives D's first hemistich and then D's v. 50 first hemistich, and at v. 50 only the second hemistich (D's two verses are intact).
- Evidence from the commentators is a mechanical word match in the OCR'd commentary and so a pointer only; where it is strong it is given (v. 2 «فأوله», v. 4 «فاختر», v. 12 «وعن», v. 21 «تعلو» against «تغلو», v. 34 «أغلو», v. 52 «أسلو»).
4. Decisions (substantive)
| Where | Reading adopted (D) | Rejected (O) | Reason | By |
|---|---|---|---|---|
| v. 2 | فَأَوَّلُهُ | وأوله | D; the commentators' lemma | AI |
| v. 4 | فَاخْتَرْ | اختر | D; the commentators' lemma | AI |
| v. 12 | وَعَنْ مَذْهَبِي | عن مذهبي | D; the conjunction also suits the metre | AI |
| v. 21 | تَعْلُو | تغلو | D; al-Nābulusī: with ghayn it would be «تغلي» with yāʾ; O seems to echo v. 37 | AI |
| v. 24 | بِمَنْ | يمن | D; O's reading gives no sense (dots) | AI |
| v. 25 | بِهَا | لها | D; both commentators quote «لي بها شغل» | AI |
| v. 33 | بِهَا | به | D | AI |
| vv. 34, 52 | أَغْلُو, أَسْلُو | أغل, أسل | D (wāw kept in the jussive by licence, which al-Būrīnī discusses) | AI |
| vv. 31, 50 | the print's | O's splice | O defective | AI |
| v. 47 | وَأَعْدُو وَلَا أَغْدُو | وأغدو ولا أعدو | D and the 1889 reprint; al-Būrīnī's lemmata in D's order (the first reading had taken O's order; corrected 13 Oct) | AI (opus) |
| v. 30 | وَلَيْسَ لَهُ قَبْلُ | وليس لها قبل | D and the 1889 reprint; al-Būrīnī's iʿrāb «وله خبر» (the first reading had O's word; corrected 13 Oct) | AI (opus) |
Corrections after the commentary (reading file, corrections): v. 10 فَمَا ابْتَلُّوا, v. 19 صَبِرٌ, v. 59 تُرَى, v. 61 نَصْبَ (the last conflicts with the image: flagged). Open items for the Opus review: docs/texts/ibn-al-farid-hubb-FLAGS.md.
5. Quotations verified
Checked in Phase 2 against the Tanzil Uthmani text (data/raw/quran-uthmani.txt) and recorded in ibn-al-farid-hubb-base.json → quotes, and in app/src/data/quran-refs/ibn-al-farid-hubb.json (made by scripts/quran_refs.py, which keeps this text out of the shared index.json, so the Quran pages and /quran-index never name it):
- v. 12, 41:17: «لَمَّا اسْتَحَبُّوا العَمَى عَلَى الهُدَى» against «فَاسْتَحَبُّوا العَمَى عَلَى الهُدَى» (the poem lacks the fāʾ);
- v. 12, 2:109: «حَسَدًا مِنْ عِنْدِ أَنْفُسِهِمْ», exact.
Not recorded as quotations (they share a root or a verb with the Qurʾān, not its words): v. 39 «فنافس» (cf. 83:26 «فليتنافس المتنافسون»); v. 43 «فخروا … سجودا» (cf. 32:15 and 19:58 «خروا سجدا»).
6. Vowelling
- Source of vowels: the print's verse lines, read from the page images by Claude (sonnet): a first reading of all 62 verses from crops of each line, then a second, independent reading by two sonnet readers (marks only used; their letters were worse). Where the two differ or hesitate, and where the commentary says how a word is read, the cases are in FLAGS (A–E). Five marks are supplied by AI where the print shows none and the metre requires them (vv. 19, 22, 46b, 50b: the 1st-person yāʾ's fatḥa, at v. 50 also on al-Būrīnī's word; v. 57 tanwīn):
vowelMask«a», shown as AI-supplied (FLAGS N-1); every other mark is the print's (t). The reading of the marks is AI's, not checked by a person: the scan is only 1200 px wide, and small marks are legible with difficulty. - Comparison with authoritative vowelled editions: not done (none held; the Khamriyya had none either).
- Word spacing is normalised (the print runs words together); undotted final yāʾ read as ي or ى by the word.
7. Segmentation and word IDs
One verse per passage (1–62), hemistichs separated by a line break; word IDs w1:<verse>:<token>; 706 words.
8. Analysis layer
CAMeL Tools (scripts/fusus/analyze.py ibn-al-farid-hubb.json ibn-al-farid-hubb-analysis.json w1, run with the repo's venv): 706 words, 439 with a root, 243 distinct roots, 50 vowel conflicts with the print. scripts/ibn_al_farid_hubb/fix_analysis.py then corrects by hand the roots CAMeL got wrong or left empty (50 words, 37 roots; e.g. وَعِشْ عيش not عشش, فَاخْتَرْ خير not ختر, الجَوَى جوي, أَسَا سوأ, بِالحَشَا حشي, مُضْنًى ضني). Each such word keeps rootFix: {from, to, by}: the root is the editor-AI's reading, not CAMeL's (listed in FLAGS I-a). Unresolved roots are function words and carry none. The data file is built by scripts/build_data.py (the text is registered in EXTRA_TEXTS); per-word detail goes to app/src/data/hidden/words/ (hidden_words.py), not to public/.
9. Commentaries aligned
Added in Phase 1: al-Būrīnī and al-Nābulusī from D, printed pp. 108–138; full record docs/texts/ibn-al-farid-hubb-commentaries.md. 250 comments on all 62 verses (al-Būrīnī 130, al-Nābulusī 120), nine printed groups of verses sharing one commentary, ten verses with no al-Nābulusī note (vv. 2, 19, 22, 24, 29, 31, 33, 38, 50, 56: confirmed by an independent reading of every page image). Arabic only; no English for the commentaries. Phase 2: a printed group's one commentary is shown once, at the group's last verse, with a pointer card on the others (reader), and in full on each verse in the side-by-side view. FLAGS M (13 Oct): the image-settled OCR proved unreliable (25% of a 60-row sample wrong, FLAGS K-2), so only the key verses show the commentators' Arabic: vv. 1–7 (the opening counsel and confession, the lines every sung setting takes) and vv. 20, 25, 38, 43, 50 (the most quoted and most commented lines) and vv. 61–62 (the closing pair, added in round 2, FLAGS §P-1), plus the group comments on vv. 5–8 and 61–62; these were re-read from the page images by Claude opus (data/sources/ibn-al-farid-hubb-commentaries/opus-settled.json; marked reviewed: "opus", uncertain words listed and shown under the comment). Every other comment shows a link and thumbnail of its printed page («Commentary: see the 1872 print, p. N», components/PrintPagePointer.tsx); its OCR text stays in the data (commentOcr in the source, ocr in the reader file, never displayed, stripped by the data route) for a later pass.
10. Translation (source or AI; glossary)
AI English, labelled AI (scripts/ibn_al_farid_hubb/translate_text.py, headless Claude sonnet, 62/62): for each verse a readable English, a literal one (shown beneath, labelled «Literal»), a gloss of every word with its root, up to four term notes, and the model's own doubts (274, kept in the file, not shown). app/src/content/ai/ibn-al-farid-hubb.json. The model was given the Arabic, the CAMeL words with the corrected roots, the previous verse and the commentators' comments as context, and told not to imitate any published translation and not to import the commentators' divine reading into the English; no translation was consulted (none is held). Glossary of the love vocabulary in the file. Not reviewed by a person; an Opus pass is planned (FLAGS J). A slip of Cyrillic look-alike letters in the model's transliteration was cleaned by script. No public-domain English translation exists; Homerin (Paulist 2001) does not contain this poem; whether Homerin (SUNY 2011) or Arberry (1956) does is unverified (needs the books' indexes). Copyrighted translations are neither hosted nor copied.
10b. Translation triangulation
Not applicable: no translation or published commentary-in-English is held to compare with (PROTOCOLS §17 would run if one is obtained).
10c. Lexicon for the poem's roots
The word panel links roots to the root pages (app/public/data/roots/<root>.json, dictionary entries only, nothing about this text). Of the poem's 246 roots, 145 lacked dictionary entries; scripts/lexicons.py --add-file (new option: extends data/sources/lexicons.json for the given roots and leaves every other entry untouched) added al-Khalīl (Kitāb al-ʿAyn), al-Jawharī (Ṣiḥāḥ), al-Rāghib (Mufradāt), Ibn Manẓūr (Lisān al-ʿArab) and the two glossaries (Ibn ʿArabī, Iṣṭilāḥ; al-Jurjānī, Taʿrīfāt), all OpenITI (CC BY-NC-SA 4.0); scripts/ai_translate_lexicons.py (sonnet, new LEX_BATCH option) added an English for each, marked AI as for the other roots; build_data.py rebuilt the root pages (Ibn Fāris's Maqāyīs and Lane's Lexicon come in where the repo's data has the root; 14 roots of the poem were not in the root index and got new pages; 29 more roots from other texts' analyses, which the last build had left out, got pages too). Provenance is typed per source as for the Khamriyya's roots (published source / AI translation / automatic analysis).
11. Rights and private layers
D: public domain. O: CC BY-NC-SA 4.0, used for collation only; none of O's letters enter D except where D agrees. Hidden: the text exists only in a build made with PRIVATE_LAYERS=1 (app/src/lib/hiddenTexts.ts, a server-only file, as the private layers are; lib/library.ts, lib/catalogue.ts): in a public build /read/ibn-al-farid-hubb and its sub-pages are a 404 and it is absent from the library, sitemap, OG images, search, robots.txt and links, and the id is in no client JavaScript. Its commentary file and word detail live in app/src/data/hidden/, never in public/, and reach the browser only through routes under /data/hidden/ that have no params in a public build. (Published 13 Oct 2026: the id was removed from HIDDEN_TEXTS, the entries moved into LIBRARY / CATALOGUE, the commentary file to app/public/data/commentaries/ and the word detail to app/public/data/words/ibn-al-farid-hubb/.) Former steps: remove the id from HIDDEN_TEXTS and move its entries into LIBRARY / CATALOGUE, after a person has checked the vowelling.
12. Open questions / to review
- Collate with Scattolin 2004 (G. Scattolin, The Poems of Ibn al-Fāriḍ, critical edition of the Dīwān, IFAO, 2004): needs a copy.
- Commentary of the 50 non-key verses: re-read from the page images (opus), verse by verse, as in FLAGS M; until then they show the printed page.
- ~~A full sweep of the lemmas/parts of speech~~ done by AI (sonnet) on 13 Oct (FLAGS O: 110 fixed); ten cases queued for opus:
docs/texts/ibn-al-farid-hubb-lemma-review.md. - Key-verse list: proposal to add vv. 61–62 (FLAGS N-3).
- A person's spot-check of the vowelling against the images, of the 50 hand-set roots, of the English, and of the two marginal notes of the print.
- Audio (none yet), resonances, connections, search index, an English of the commentaries, a second reading of the print with a sharper scan.
- Triangulation of the English if Homerin (2011) or Arberry (1956) turns out to contain the poem and a copy is obtained.
13. Change log
- 2026-10-12: record created (Phase 1): verse lines located and read (62/62), collated against O (28 variants), commentary layer extracted (OCR ×2, 2,667 decisions by sonnet, 250 comments), sigla confirmed by independent reading, flags written; text wired behind the hidden flag.
- 2026-10-12: Phase 2: CAMeL analysis with 50 roots corrected; lexicon extended for the poem's roots (AI English, sonnet); AI English of the poem (literal and readable); Quran references (41:17, 2:109); companions (5 recordings, link-out); printed-group display; hidden id kept out of client chunks (server-only
hiddenTexts.ts); Opus review packet. - 2026-10-13: fix pass (FLAGS L): lemma/pos/segments/gloss of the rootFix words (
fix_lemmas.py);lexicons.pyno longer matches hamza headings from weak-final roots (31 roots re-run). - 2026-10-13: FLAGS M: commentary of the key verses (1–7, 20, 25, 38, 43, 50) re-read from the page images by opus; the other verses show the printed page; AI English for the 16 lexicon roots whose entries were replaced in L-2 (
LEX_ROOTSoption ofai_translate_lexicons.py). - 2026-10-13: spot-check (FLAGS N), AI (opus) on the editor's instruction, not a person's review: verse lines of vv. 1, 9, 12, 15, 19, 22, 25, 32, 43, 46, 50, 57, 61 compared letter by letter and mark by mark with the 1872 page images and the Cairo 1889 reprint (
AAlexandrina-140352, new check witness E): no letter variant; metrical marks supplied and flagged as AI (وَصَبْرِيَ, فَسُهْدِيَ, لَعَلِّيَ, وَكُلِّيَ, وَعَقْدٍ); v. 12 hemistich break moved before الهُدَى (both prints divide inside the word); eleven CAMeL lemma errors fixed (fix_lemmas.pyF2); key-verse commentary: v. 7 B «ملسوب بحية … بمسلوب» and v. 20 N «العلمى» corrected, seven uncertain words settled, three still open (v. 4 B ميز / 1889 مين, v. 5 B وبدأ به, v. 6 N بوجه); proposal to add vv. 61–62 to the key verses. Text stays hidden. - 2026-10-13: AI (sonnet) lemma sweep (FLAGS O): all 706 words read against their verse and the AI English; 110 lemma / part of speech / person-mood-voice / gloss errors fixed in
fix_lemmas.pyF3 (12 negative mā, 34 lemma or POS, 3 names, about 20 verb forms, about 45 glosses);lemmaFixkept on each; ten uncertain cases queued indocs/texts/ibn-al-farid-hubb-lemma-review.md. Not a person's review; text stays hidden. - 2026-10-13: round 2 (FLAGS §P), AI (opus) on the editor's instruction, not a person's review: vv. 61–62 added to the key verses (commentary re-read from the 1872 images, checked against the 1889 reprint; the grandson's account of the ʿAyniyya split off from al-Nābulusī's v. 62 note); v. 47 reading corrected to «وَأَعْدُو وَلَا أَغْدُو» (both prints and al-Būrīnī; the first reading had OpenITI's order), with analysis, collation and AI English; the ten queued lemma items settled (F4; rootFix أَحُلْ → حول); «while+» → «and+» for wa- (63 glosses); 15/15 of a random sample of the sonnet sweep correct. Text stays hidden.
- 2026-10-13: dots pass (FLAGS §Q), AI (opus) on the editor's instruction, not a person's review: every D/O dot-only difference checked against both prints (vv. 21, 24 confirmed), and the 48 verses not yet confirmed read letter by letter against the 1872 and 1889 lines: one more O-influenced error fixed (v. 30 «وَلَيْسَ لَهُ قَبْلُ», with analysis, collation and AI English). All 62 verses now agree in letters, dots and word order with both prints; marks compared mark by mark in 14. Text stays hidden.
- 2026-10-13: PUBLISHED on the editor's explicit instruction ("publish it with the vowels labelled as AI"): unhidden (HIDDEN_TEXTS emptied; library and catalogue entries public next to the Khamriyya; data under
app/public/data/); reader note, About-page note and this status line say the vowelling is an AI reading, not reviewed by a person, and that the text is not yet collated with Scattolin 2004.