
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_awt_im_InputSubset__
#define __java_awt_im_InputSubset__

#pragma interface

#include <java/lang/Character$Subset.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace im
      {
          class InputSubset;
      }
    }
  }
}

class java::awt::im::InputSubset : public ::java::lang::Character$Subset
{

  InputSubset(::java::lang::String *);
public:
  static ::java::awt::im::InputSubset * LATIN;
  static ::java::awt::im::InputSubset * LATIN_DIGITS;
  static ::java::awt::im::InputSubset * TRADITIONAL_HANZI;
  static ::java::awt::im::InputSubset * SIMPLIFIED_HANZI;
  static ::java::awt::im::InputSubset * KANJI;
  static ::java::awt::im::InputSubset * HANJA;
  static ::java::awt::im::InputSubset * HALFWIDTH_KATAKANA;
  static ::java::awt::im::InputSubset * FULLWIDTH_LATIN;
  static ::java::awt::im::InputSubset * FULLWIDTH_DIGITS;
  static ::java::lang::Class class$;
};

#endif // __java_awt_im_InputSubset__
