private void updateAyaText(int col, DefaultStyledDocument doc, Sura sura,
			int i) {
		Aya aya = sura.getAyaList().get(i - 1);
		int suraIndex = sura.getIndex();
		String bismillahText = aya.getBismillah();
		String ayaText = aya.getText();
		char ayaNumStart = '\ufd3f';
		char ayaNumEnd = '\ufd3e';
		try {
			// add Bismillah if required. Special handling required for sura
			// Fatiha(1) and Sura Toba (9)
			if (suraIndex != 9 && i == 1) {
				if (suraIndex == 1) {
					bismillahText = ayaText + ayaNumStart
							+ getArabicAyaNumbering(i) + ayaNumEnd;
				} else if (suraIndex != 1 && bismillahText == null) {
					// this case is valid for Urdu translations
					bismillahText = quranText[col].getSuraList().get(0)
							.getAyaList().get(0).getText();
				}
				int offset = doc.getLength();

				doc.insertString(offset, bismillahText + "\n",
						doc.getStyle("BismillahStyle"));

				doc.setParagraphAttributes(offset, doc.getLength() - offset,
						doc.getStyle("BismillahStyle"), false);

				// we wish to return from aya 1 (bismillah) for surah 1
				if (suraIndex == 1) {
					return;
				}
			}

			int startOffset = doc.getLength();
			// add actual Aya text
			doc.insertString(startOffset, ayaText + ayaNumStart
					+ getArabicAyaNumbering(i) + ayaNumEnd + " ",
					doc.getStyle("BaseStyle"));

			// calculate offsetting for this aya for highlighting purposes
			int endOffset = doc.getLength() - 1;

			this.ayaOffsets[col].put(new Point(suraIndex, i), new Point(
					startOffset, endOffset));

		} catch (BadLocationException e) {
			e.printStackTrace();
		}
	}