diff --git a/etc/HELLO b/etc/HELLO
index 84868b6d75e..20233b0c918 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -1,5 +1,5 @@
Content-Type: text/enriched
-Text-Width: 70
+Text-Width: 72
This is a list of ways to write a orange red"hello" greeting using
various scripts. It is not intended to be comprehensive,
@@ -114,6 +114,7 @@ Tagbanwa (ᝦᝪᝯ) ᝫᝩᝬᝥ ᝣᝮᝧᝯ
TaiViet (ꪁꪫꪱꪣ ꪼꪕ) ꪅꪰꪙꫂ ꪨꪮꫂ ꪁꪫꪱ / ꪅꪽ ꪨꪷ ꪁꪫꪱ
Thai (ภาษาไทย) สวัสดีครับ / สวัสดีค่ะ
Tibetan (བོད་སྐད་) བཀྲ་ཤིས་བདེ་ལེགས༎
+Tifinagh (ⵜⵉⴼⵉⵏⴰⵖ) ⴰⵣⵓⵍ
Tigrigna (ትግርኛ) ሰላማት
Tirhuta (𑒞𑒱𑒩𑒯𑒳𑒞𑒰) 𑒣𑓂𑒩𑒢𑒰𑒧 / 𑒮𑒲𑒞𑒰𑒩𑒰𑒧
Turkish (Türkçe) Esenlikler / Merhaba
diff --git a/etc/NEWS b/etc/NEWS
index 607244b4b4b..c907ec40fa1 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -46,6 +46,12 @@ usual minibuffer history commands. Each command has a separate history.
* Editing Changes in Emacs 31.1
+** Internationalization
+
+---
+*** New language-environment and input method for Tifinagh.
+The Tifinagh script is used to write the Berber languages.
+
* Changes in Specialized Modes and Packages in Emacs 31.1
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index 1de424252e8..272fe79d314 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -364,6 +364,19 @@ language environment."))
(vector "[\u1820-\u18AF\u202F\u180B-\u180F\u1807]+"
0 'font-shape-gstring)))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Tifinagh
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(set-language-info-alist
+ "Tifinagh"
+ '((charset unicode)
+ (coding-system utf-8)
+ (coding-priority utf-8)
+ (input-method "tifinagh")
+ (sample-text "Tifinagh ⴰⵣⵓⵍ")
+ (documentation "Tifinagh a script used to write the Berber languages."))
+ '("Misc"))
+
(provide 'misc-lang)
;;; misc-lang.el ends here
diff --git a/lisp/leim/quail/tifinagh.el b/lisp/leim/quail/tifinagh.el
new file mode 100644
index 00000000000..6a138396143
--- /dev/null
+++ b/lisp/leim/quail/tifinagh.el
@@ -0,0 +1,67 @@
+;;; tifinagh.el --- Quail package for inputting Tifinagh -*- coding: utf-8; lexical-binding:t -*-
+
+;; Copyright (C) 2024 Free Software Foundation, Inc.
+
+;; Author: Adam Oudad
+;; Keywords: mule, input method, Tifinagh
+
+(require 'quail)
+
+(quail-define-package
+ "tifinagh" "Tininagh" "ⵣ" nil "Tifinagh input method.
+
+Based on Tifinagh table in X Keyboard Configuration DB.
+" nil t t t t nil nil nil nil nil t)
+
+;; FIXME: This doesn't cover all of the codepoints that Unicode has
+;; defined for the Tifinagh script.
+(quail-define-rules
+ ("Q" ?ⵈ)
+ ("W" ?ⵯ)
+ ("R" ?ⵕ)
+ ("T" ?ⵟ)
+ ("P" ?ⵒ)
+
+ ("S" ?ⵚ)
+ ("D" ?ⴹ)
+ ("G" ?ⴶ)
+ ("H" ?ⵂ)
+ ("J" ?ⵌ)
+ ("K" ?ⴾ)
+
+ ("Z" ?ⵥ)
+ ("X" ?ⵝ)
+ ("C" ?ⵞ)
+ ("V" ?ⵗ)
+
+ ("q" ?ⵇ)
+ ("w" ?ⵡ)
+ ("e" ?ⴻ)
+ ("r" ?ⵔ)
+ ("t" ?ⵜ)
+ ("y" ?ⵢ)
+ ("u" ?ⵓ)
+ ("i" ?ⵉ)
+ ("o" ?ⵄ)
+ ("p" ?ⵃ)
+
+ ("a" ?ⴰ)
+ ("s" ?ⵙ)
+ ("d" ?ⴷ)
+ ("f" ?ⴼ)
+ ("g" ?ⴳ)
+ ("h" ?ⵀ)
+ ("j" ?ⵊ)
+ ("k" ?ⴽ)
+ ("l" ?ⵍ)
+
+ ("z" ?ⵣ)
+ ("x" ?ⵅ)
+ ("c" ?ⵛ)
+ ("v" ?ⵖ)
+ ("b" ?ⴱ)
+ ("n" ?ⵏ)
+ ("m" ?ⵎ)
+ )
+
+;;; tifinagh.el ends here