Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Friday, 26 July 2019

Iconic font company Monotype is getting acquired by PE firm HGGC for $825M

A new chapter is opening up for Monotype, the font and imaging technology specialist that is associated with some of the more iconic evolutions in typefaces in the digital age (if you know Times New Roman or Arial, you know Monotype). Today, the company announced that private equity house HGGC is acquiring it for $825 million in an all-cash deal.

HGGC will be paying $19.85 per share for the company, effectively taking it private: Monotype has been around since 1887 and more recently traded on Nasdaq under the ticker “TYPE.” (The sale price represents a significant premium on the stock’s closing price yesterday of $16.16.) The deal has already been approved by the company’s board of directors and is expected to close in Q4 of this year.

The deal caps off a period of the company working to update and expand its focus beyond that of typeface technology — an area where it established itself as a leader in the pre-digital era but continued to play a role with the growth of digital fonts, with partnerships with the likes of Microsoft (licensing fonts for operating systems), and building new font libraries for a globalised internet (such as a collaboration with Google called the Noto Project, designed to build a font that would work across 800 languages and 100 writing scripts).

That expansion notably took Monotype from typefaces to images — a key and prescient evolution considering the use of emojis today replacing words. The company in the last four years made a number of acquisitions to that end, including Olapic and Swyft Media.

And after a prolonged and overall declining trajectory, now it’s the one getting acquired,

“Over the last several years, Monotype has strategically shifted its business from primarily serving a small group of OEM manufacturers to one that addresses the needs of thousands of brands and millions of creative professionals worldwide,” said Scott Landers, President and Chief Executive Officer, in a statement. “As a private company, we will have the financial support and added flexibility to invest in ways that deliver more value and improve the overall experience for our customers. This transaction is a testament to our talented employees and their dedication to serving our customers, and we look forward to partnering with HGGC as we continue helping customers maximize their customer engagement in today’s digital, mobile and global landscape.”

Indeed, Monotype is still best known for fonts, and you can go to its site to buy and experiment with new ones, or work with Monotype to create your own.

Screenshot 2019 07 26 at 13.23.29

Under the wing of the PE firm, the company — which has been modestly profitable, with results also reported today showing net income of $10.3 million on revenues of $63.2 million — is likely to get more investment, less scrutiny under the unrelenting eye of the public markets, and possibly some reorganization for whatever comes next.

“We have been impressed with the quality and expertise of the Monotype team led by Scott, whose relentless commitment to customers has helped brands realize their full identity and express it to the world,” said Rich Lawson, CEO and Co-Founder at HGGC, in a statement. “We look forward to working together to help advance Monotype’s strategy and continue delivering the products and services that allow for brand expression and differentiation.”



from TechCrunch https://ift.tt/2YrP98f
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support