diff --git a/src/Modules/Certificates/BonafideCertificate.jsx b/src/Modules/Certificates/BonafideCertificate.jsx
index b3bb5a56c..081518331 100644
--- a/src/Modules/Certificates/BonafideCertificate.jsx
+++ b/src/Modules/Certificates/BonafideCertificate.jsx
@@ -62,6 +62,18 @@ const filenameFrom = (header, fallback) => {
return match?.[1] || fallback;
};
+// Renders an ordinal such as "4th" with the suffix raised, as the PDF does.
+function ordinalWithSuperscript(value) {
+ const match = /^(\d+)(st|nd|rd|th)$/.exec((value ?? "").trim());
+ if (!match) return value;
+ return (
+ <>
+ {match[1]}
+ {match[2]}
+ >
+ );
+}
+
export default function BonafideCertificate() {
const [rollNumber, setRollNumber] = useState("");
const [selectedStudent, setSelectedStudent] = useState(null);
@@ -326,9 +338,11 @@ export default function BonafideCertificate() {
{preview.student.relation}{" "}
MR. {preview.student.father_name} is a
student of{" "}
- {preview.student.year_ordinal} Year (
- {preview.student.semester_ordinal} Semester){" "}
- {preview.student.programme} in{" "}
+
+ {ordinalWithSuperscript(preview.student.year_ordinal)} Year
+ {" "}
+ ({ordinalWithSuperscript(preview.student.semester_ordinal)}{" "}
+ Semester) {preview.student.programme} in{" "}
{preview.student.discipline} ({" "}
{preview.student.duration_text} course duration:{" "}
{preview.student.start_year} to{" "}