MediaWiki's UtfNormal library has been split into a separate wikimedia/utfnormal Composer package in MediaWiki version 1.25. However some extensions still use it:
vagrant/mediawiki/extensions$ ack UtfNormal:: --php AbuseFilter/extensions/AntiSpoof/AntiSpoof_body.php 344: $testName = UtfNormal::toNFKD( $testName ); ActiveAbstract/AbstractFilter.php 113: return UtfNormal::cleanUp( $clipped ); 217: $header = UtfNormal::cleanUp( $stripped ); AntiSpoof/AntiSpoof_body.php 354: $testName = UtfNormal::toNFKD( $testName ); Foxway/Foxway.body.php 50: return \UtfNormal::cleanUp($return); 85: return \UtfNormal::cleanUp($return); LiquidThreads/classes/Hooks.php 229: $out .= UtfNormal::cleanUp( Xml::tags( 'DiscussionThreading', null, $threadInfo ) . "\n" ); PdfHandler/PdfHandler.image.php 141: $pages[$page] = UtfNormal::cleanUp( $pageText ); PhpTags/PhpTags.body.php 74: return \UtfNormal::cleanUp($return); 137: return \UtfNormal::cleanUp($return); Scribunto/common/Hooks.php 136: return UtfNormal::cleanUp( strval( $result ) ); Scribunto/engines/LuaCommon/lualib/ustring/make-normalization-table.php 72:if ( !UtfNormal::$utfCheckNFC || 73: !UtfNormal::$utfCombiningClass || 74: !UtfNormal::$utfCanonicalDecomp || 75: !UtfNormal::$utfCanonicalComp 79:if ( !UtfNormal::$utfCompatibilityDecomp ) { 98:foreach ( UtfNormal::$utfCheckNFC as $k => $v ) { 99: if ( isset( UtfNormal::$utfCombiningClass[$k] ) ) { 109:foreach ( UtfNormal::$utfCombiningClass as $k => $v ) { 118:foreach ( UtfNormal::$utfCanonicalDecomp as $k => $v ) { 130:foreach ( UtfNormal::$utfCompatibilityDecomp as $k => $v ) { 131: if ( isset( UtfNormal::$utfCanonicalDecomp[$k] ) && UtfNormal::$utfCanonicalDecomp[$k] === $v ) { 148:foreach ( UtfNormal::$utfCanonicalComp as $k => $v ) { Scribunto/engines/LuaCommon/UstringLibrary.php 167: return array( UtfNormal::toNFC( $s ) ); 175: return array( UtfNormal::toNFD( $s ) ); 183: return array( UtfNormal::toNFKC( $s ) ); 191: return array( UtfNormal::toNFKD( $s ) ); Translate/ffs/SimpleFFS.php 120: $input = UtfNormal::cleanUp( $input ); TranslationNotifications/extensions/Translate/ffs/SimpleFFS.php 120: $input = UtfNormal::cleanUp( $input ); Transliterator/Transliterator_body.php 219: $word = UtfNormal::toNFD( $word ); 482: return UtfNormal::toNFC( $output );
These extensions should all be fixed in order to clean the MediaWiki core code base of fallback code.
With exception of Scribunto/engines/LuaCommon/lualib/ustring/make-normalization-table.php which does some complex incantations with class aliasing, this task is very straightforward (see this example patch).